首页 > 解决方案 > 如何避免 [] 在 Flutter 中调用 null

问题描述

dart中是否有方法判断一个对象是否为null,然后决定获取['data']还是什么都不做?

这是错误消息:

在构建 Builder 时引发了以下 NoSuchMethodError:在 null 上调用了方法“[]”。接收者:null 尝试调用:

标签: dartflutter

解决方案


回答您的问题的最简单方法:

final data = list != null ? list[0] : null;

有一种速记方法可以对任何对象的属性和方法执行相同的操作:a?.b或者a?.b() 首先检查 null a,然后分别获取b或调用b,如果a为 null 返回 null。

这种简写不能仅用于属性和方法的下标。


推荐阅读