Flutter “错误”;类型';字符串';不是类型为';int';“铸入式”;当尝试在flatter中将字符串转换为int时
我收到了这个错误Flutter “错误”;类型';字符串';不是类型为';int';“铸入式”;当尝试在flatter中将字符串转换为int时,flutter,dart,google-cloud-firestore,Flutter,Dart,Google Cloud Firestore,我收到了这个错误d[error:flatter/lib/ui/ui\u dart\u state.cc(177)]未处理的异常:当我试图将字符串转换为int时,类型“String”不是类型cast中类型“int”的子类型 QuerySnapshot result = await firestore.collection("video").get() result.docs.forEach((element) { var ID = element.data().v
d[error:flatter/lib/ui/ui\u dart\u state.cc(177)]未处理的异常:当我试图将字符串转换为int时,类型“String”不是类型cast中类型“int”的子类型
QuerySnapshot result = await firestore.collection("video").get()
result.docs.forEach((element) {
var ID = element.data().values.elementAt(4) // the element at this position is an ID
});
我已经尝试了很多方法,将此值转换为int,如:
int value = int.parse(ID));
或
但不管我怎么尝试,只要给mt同样的错误,
非常提前感谢看起来ID
已经是integer
了,不需要进行类型转换。尝试int value=ID代码>看起来问题出在数据来自何处,即firestore api
发生的情况是,当您使用get()从数据库获取数据时,信息如下所示[userName,email,ID],但当您关闭应用程序,再次打开并尝试重新调用这些信息时,它可以如下所示:[userName,ID,email]
我真的不知道为什么会这样,也不知道如何解决它。但是我将尝试过滤来自请求的数据ID是否只包含整数?打印(ID)
的结果是什么?它打印一个“数字”,可能只是字符串中的一个数字。我需要比较两个数字,所以我需要将这个字符串转换为intIt返回“类型'string'不是类型转换中类型'int'的子类型”
int value = ID as int;