假设我有一个目标反应。现在我想检查一个布尔变量,成功,在响应下做一个早期返回是不成功的。
if(response == null || !response.success){
return;
} //Java version现在,我想使用Kotlin的空安全检查,如下所示
if(response?.success ?: true){
return
}如果我没有错,如果响应或成功为null,我们将在If条件内返回true。但是,如果response.success不是null,等于true,我们仍然会从函数返回,这不是我想要的。如何纠正这种情况?
发布于 2017-11-10 00:25:13
我觉得你必须做
if(!(response?.success ?: false)){
return // null or failed
}这相当于您的java版本。
但是请注意:如果null 检查版本更容易阅读。你也可以在Kotlin中使用它,
您也可以翻转条件。
response?.success?.let {
// do something when success
}发布于 2022-04-20 15:41:54
很老的问题,但我只是被它绊倒了。以下可能是最短的if子句:
if (response?.success != true) {
//There is either no response, or it was not successful
}https://stackoverflow.com/questions/47213757
复制相似问题