cod*_*_86 5 dart dart-null-safety
所以我有一个类Cache,它有compare一个返回bool.
我有一个可为空的类的实例。
Cache? recent;
Run Code Online (Sandbox Code Playgroud)
recent我想在isnot null和comparereturn时执行一段代码false
如果没有零安全性,我就会这样做
if(recent!=null && !recent.compare()){
//code
}
Run Code Online (Sandbox Code Playgroud)
如何在启用空安全的情况下执行相同的操作?
当我尝试上面的零安全性时,我得到
无法无条件调用“compare”方法,因为接收者可能为“null”。尝试使调用有条件(使用“?。”)或向目标添加空检查(“!”)
当我尝试下面时
if(!recent?.compare()){
//code
}
Run Code Online (Sandbox Code Playgroud)
它给了我
可为空的表达式不能用作条件。在将其用作条件之前,请尝试检查该值是否不为“null”。
您可以通过以下方式解决这个问题
使用局部变量(推荐)
var r = recent; // Local variable
if (r != null && !r.compare()) {
// ...
}
Run Code Online (Sandbox Code Playgroud)
使用 Bang 运算符 ( !)
if (!recent!.compare()) {
// ...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3847 次 |
| 最近记录: |