Flutter ';列表<;动态>';不是类型为';列表<;字符串>';
我正在对地图执行firestore查询尝试使用Flutter ';列表<;动态>';不是类型为';列表<;字符串>';,flutter,dart,google-cloud-firestore,Flutter,Dart,Google Cloud Firestore,我正在对地图执行firestore查询尝试使用列表 List<String> permissionsAllowed = List<String>.from(permissions.keys.toList()); List permissionsallow=List.from(permissions.keys.toList()); 我不确定,但您是否正在尝试查找哪些键是字符串?如果是这样的话,下面的功能的方法如下所示2: main(List<String> a
列表
List<String> permissionsAllowed = List<String>.from(permissions.keys.toList());
List permissionsallow=List.from(permissions.keys.toList());
我不确定,但您是否正在尝试查找哪些键是字符串
?如果是这样的话,下面的功能的方法如下所示2
:
main(List<String> args) {
var permissions = {
'key1': 'value1',
'key2': 'value2',
1: 'one',
2: 'two',
};
List<String> featuresAllow = permissions.keys.toList().map((key) {
return key.toString();
}).toList();
print('featuresAllow= $featuresAllow');
List<String?> featuresAllow2 = permissions.keys
.toList()
.map((key) {
if (key is String) return key;
})
.where((key) => key != null)
.toList();
print('featuresAllow2= $featuresAllow2');
}
main(列表参数){
var权限={
“键1”:“值1”,
“键2”:“值2”,
1:"一",,
二:"两",,
};
List featuresAllow=permissions.keys.toList().map((键){
return key.toString();
}).toList();
打印('featuresAllow=$featuresAllow');
列表功能sallow2=permissions.keys
托利斯先生()
.map((键){
如果(键为字符串)返回键;
})
.其中((键)=>key!=null)
.toList();
打印('featuresAllow2=$featuresAllow2');
}
守则:
List<String> permissionsAllowed = List<String>.from(permissions.keys.toList());
List permissionsallow=List.from(permissions.keys.toList());
如果键不是字符串,则会出现异常。是否尝试过类型转换?但我刚刚更新并添加了尝试映射时遇到的另一个错误编辑后,您忘记了toList()权限。keys.toList().map(…).toList()
列出权限sallow=permissions.keys.toList()作为列表。。。你可以试试。很抱歉,我忘记了,删除了它,并将尝试提供的解决方案。如果某个键不是字符串
,则会出现异常类型“int”不是类型“String”的子类型
。是的,这是假设所有动态数据都是字符串,如果数据有变体,则必须进行类型检查,或者在传递到列表之前将其转换为字符串
main(List<String> args) {
var permissions = {
'key1': 'value1',
'key2': 'value2',
1: 'one',
2: 'two',
};
List<String> featuresAllow = permissions.keys.toList().map((key) {
return key.toString();
}).toList();
print('featuresAllow= $featuresAllow');
List<String?> featuresAllow2 = permissions.keys
.toList()
.map((key) {
if (key is String) return key;
})
.where((key) => key != null)
.toList();
print('featuresAllow2= $featuresAllow2');
}
List<String> permissionsAllowed = List<String>.from(permissions.keys.toList());