为什么这不是Dart中的错误?
List<String> listA = ['aa', 1, 'cc']; //not compile time error, not run time error??
我正在使用Dart编辑器。
答案 0 :(得分:5)
写List<String> listA = ['aa', 1, 'cc'];
就像写List<String> listA = <dynamic>['aa', 1, 'cc'];
一样。 runtimeType
的{{1}}为['aa', 1, 'cc']
,与您使用的类型注释List
兼容。
如果要定义List<String>
列表以在编辑器中显示警告并在运行时出错,则应优先选择:
String
为了更好地理解这里的一些样本:
List<String> listA = <String>['aa', 'cc'];
// or
final listA = <String>['aa', 'cc'];