【发布时间】:2021-08-12 15:00:18
【问题描述】:
所以我有一个类Cache,它有一个方法compare,它返回一个bool。
我有一个可以为空的类的实例。
Cache? recent;
我想在 recent 为 not null 并且 compare 返回 false
如果没有零安全性,我会这样做
if(recent!=null && !recent.compare()){
//code
}
如何在启用 null 安全的情况下做同样的事情?
当我在上面尝试零安全时,我得到了
不能无条件调用“比较”方法,因为接收者可以为“空”。 尝试使调用有条件(使用'?.')或向目标添加空检查('!')
当我在下面尝试时
if(!recent?.compare()){
//code
}
它给了我
可空表达式不能用作条件。 在将其用作条件之前,请尝试检查该值是否不是“空”。
【问题讨论】:
-
请参阅 stackoverflow.com/q/65035574 了解发生这种情况的原因。
标签: dart dart-null-safety