Yao*_*Yao 4 null-check kotlin kotlin-null-safety
假设我有一个对象Response.现在我想检查一个布尔变量,成功,在Response下并做一个早期返回是响应不成功.
if(response == null || !response.success){
return;
} //Java version
Run Code Online (Sandbox Code Playgroud)
现在我想使用Kotlin的null安全检查,如下所示
if(response?.success ?: true){
return
}
Run Code Online (Sandbox Code Playgroud)
如果我没有错,如果响应或成功为null,我们将在if条件内返回true.但是,如果response.success不为null且等于true,我们仍将从函数返回,这不是我想要的.我该如何纠正这种情况?
我想你必须这样做
if(!(response?.success ?: false)){
return // null or failed
}
Run Code Online (Sandbox Code Playgroud)
这相当于你的java版本.
但请注意:如果null检查版本更容易阅读.你也可以在Kotlin中使用它
你也可以翻转这个条件
response?.success?.let {
// do something when success
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1065 次 |
| 最近记录: |