如果kotlin代码同时需要布尔和可空检查,如何简化它?
dataConfig对象有一个可为null的布尔字段urlIsabled,并希望根据dataConfig.urlIsabled==null还是dataConfig.urlIsabled的负数返回 可以简化吗?可以简化为:如果kotlin代码同时需要布尔和可空检查,如何简化它?,kotlin,Kotlin,dataConfig对象有一个可为null的布尔字段urlIsabled,并希望根据dataConfig.urlIsabled==null还是dataConfig.urlIsabled的负数返回 可以简化吗?可以简化为: val result = dataConfig.urlIsabled in listOf(false, null) 可以简化为: val result = dataConfig.urlIsabled in listOf(false, null) 如果dataConfig.u
val result = dataConfig.urlIsabled in listOf(false, null)
可以简化为:
val result = dataConfig.urlIsabled in listOf(false, null)
如果dataConfig.urlIsDisabled为null或false,则尝试返回true
只要反转逻辑,如果值等于true,则返回false:
val结果=!dataConfig.urlIsabled==true如果dataConfig.urlIsDisabled为null或false,则尝试返回true
只要反转逻辑,如果值等于true,则返回false:
val结果=!dataConfig.urlIsabled==true绘制一个简单的真值表:
| dataConfig.urlIsabled | result |
|-----------------------|--------|
| null | true |
| true | false |
| false | true |
|-----------------------|--------|
因此,结果在所有情况下都是正确的,除非urlIsabled等于true。因此,它可以表示为:
val result = dataConfig.urlIsabled != true
绘制一个简单的真值表:
| dataConfig.urlIsabled | result |
|-----------------------|--------|
| null | true |
| true | false |
| false | true |
|-----------------------|--------|
因此,结果在所有情况下都是正确的,除非urlIsabled等于true。因此,它可以表示为:
val result = dataConfig.urlIsabled != true
另见此问题:另见此问题: