【发布时间】:2021-10-05 21:20:31
【问题描述】:
假设您正在管理建筑物中居民拥有的自行车序列号列表,目标是提前规划以建立更多安全的自行车存放处。
有些人当然没有自行车。
在 Dart > 2.12 (with null safety) 你可以
使用不可为空的List<String> 并将其初始化为一个空列表
class Resident {
String name;
List<String> bicycles = [];
}
或者您可以使用可为空的 List<String> 并使用 null 作为标志来表示某人没有自行车。
class Resident {
String name;
List<String>? bicycles;
}
这两种设计当然是可行的,但结果是哪一种明显比另一种更好——例如,对于新的 Dart 来说更惯用吗?换句话说,最初为空的不可为空的容器或最初可为空且为空的容器哪个更好?
即使我计算所需的位数,也不是很清楚。在第一种情况下构造一个空列表会浪费存储空间,但在第二种情况下也会浪费存储空间——尽管它是未知的,并且可能取决于实现——数量。
【问题讨论】:
标签: dart dart-null-safety