【发布时间】:2020-08-01 19:45:26
【问题描述】:
在下面的例子中,为什么没有给构造函数传递参数时是myListnull?
我将它声明为类中的空(可增长)列表。
class MyListClass {
List myList = [];
MyListClass({this.myList});
}
void main() {
final obj = MyListClass();
assert(obj.myList != null);
}
传递可选列表但默认为空列表的最佳方式是什么?
我知道您可以执行以下操作,但也许有更好的方法?
MyListClass({this.myList}) {
this.myList ??= [];
}
日期:
这是预期的行为,如果没有根据this 给出值,null 是默认行为。
【问题讨论】:
-
您没有将任何内容传递给将值定向到 myList 的构造函数,这就是为什么您得到 null(null == empty)
-
好的,我想既然它是可选的,当没有传递参数时它应该保持不变。我更新了我的问题以找到解决此问题的最佳解决方案
-
嗯。可能。我发布了一个 github 问题。
-
然后发布指向该 GitHub 问题的链接
标签: list flutter dart constructor