gpt4 book ai didi

dart - 具有未初始化的最终类变量的构造函数

转载 作者:行者123 更新时间:2023-12-03 04:28:15 26 4
gpt4 key购买 nike

我有这个课:

class Entry {
final String id;
final List<ListEntry> listEntries;

Entry({this.listEntries}):
id = Uuid().v4();

Entry.withId({this.id, this.listEntries});
}
// create new class instance
var e = Entry();

现在,当我在 e.listEntries上调用任何方法时,我将得到一个NPE,因为它尚未初始化。如果没有提供构造函数参数,是否可以将其默认设置为空列表?

最佳答案

您可以使用Factory构造函数:

class Entry {
final String id;
final List<String> listEntries;

factory Entry({List<String> listEntries}) {
return Entry._(listEntries ?? []);
}

Entry._(this.listEntries):
id = Uuid().v4();

Entry.withId({this.id, this.listEntries});
}

关于dart - 具有未初始化的最终类变量的构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57585310/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com