在以下示例中,当没有参数传递给构造函数时,为什么myList
null
?
我在类中将其声明为空(可增长)列表。
class MyListClass {
List myList = [];
MyListClass({this.myList});
}
void main() {
final obj = MyListClass();
assert(obj.myList != null);
}
传递可选列表但默认为空列表的最佳方法是什么?
我知道您可以执行以下操作,但是也许有更好的方法?
MyListClass({this.myList}) {
this.myList ??= [];
}
UDATE:
这是预期的行为,如果未根据this提供值,则
null
为默认值。 最佳答案
编辑:使用初始化器:
class MyListClass {
List myList;
MyListClass({List list}) : myList = list ?? [];
}