如何解决如何使用 Null Safety 将项目添加到列表中
我在 dart 中使用 null 安全时遇到问题。
void main() {
List<String>? testlist;
testlist?.add('null test');
print(testlist);
}
为什么打印的 testlist
仍然为空?
解决方法
因为您还没有为 testlist
赋值,所以它为 null 并且不执行 add
方法。
add
方法只是简单地向列表中“添加”一个条目,但如果列表为空,则无法向其中添加任何内容。
您必须以某种方式对其进行初始化,例如将其初始化为 List<String>? testlist = [];
,但这取决于您最终将如何使用它。
您的 testlist
仍然为空,因为您将其定义为可空且未对其进行初始化。
因此,在调用 testlist
时,将条目添加到您的 testlist?.add('null test');
。如果 testlist
为空,将执行检查。如果它为空,则将跳过对 add
的调用。在您的情况下,它始终为空。
因此,在您的代码行 testlist?.add('null test');
中可视化空条件运算符。也可以写成:
List<String>? testlist;
// testlist?.add('null test');
if(testlist != null) {
testlist.add('null test');
}
print(testlist);
如果你想添加字符串,你必须初始化你的testlist
:
List<String>? testlist = [];
或者,如果可能的话,您可以避免使用 nullable 并将代码编写为:
List<String> testlist = [];
testlist.add('null test');
print(testlist);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。