如何避免 [] 在 Flutter 中调用 null

Zho*_*rui 5 dart flutter

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

这是错误消息:

在构建 Builder 时抛出了以下 NoSuchMethodError:方法 '[]' 在 null 上被调用。接收者:空尝试调用:

Har*_*dia 7

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

final data = list != null ? list[0] : null;
Run Code Online (Sandbox Code Playgroud)

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

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