Dart语言中List声明报错:找不到构造函数'List'求助
Dart中"Couldn't find constructor 'List'"错误解决方法
这个错误是因为Dart 2.9及后续版本移除了List()无参构造器,以及直接用List(length)创建固定长度List的写法,下面是不同场景的正确实现方式:
1. 创建可增长的空List(替代原List()写法)
- 简洁写法(推荐):直接使用方括号声明
List<String> myList = [];
- 显式指定可增长的写法:
List<String> myList = List<String>.empty(growable: true);
2. 创建固定长度的List(替代原List(length)写法)
使用List<T>.filled()构造器,必须传入长度和默认值:
// 不可为空的int类型List,默认值设为0 List<int> fixedList = List<int>.filled(5, 0); // 可空的int类型List,默认值设为null List<int?> fixedNullableList = List<int?>.filled(5, null);
3. 仅声明未赋值的List变量
如果只是想声明一个List变量暂不赋值,在空安全模式下需要标记为可空:
// 声明可空的List变量,后续再赋值 List<String>? myList;
内容的提问来源于stack exchange,提问作者Blueline77
相关产品推荐
相关产品推荐

