首页 > 解决方案 > 如果需要布尔和可空检查,如何简化此 kotlin 代码?

问题描述

一个dataConfig对象有一个可以为空的布尔字段urlIsabled,并且希望根据dataConfig.urlIsabled== null 或负数返回dataConfig.urlIsabled

val result = if (dataConfig.urlIsabled != null) (dataConfig.urlIsabled != true) else true)

可以简化吗?

标签: kotlin

解决方案


绘制一个简单的真值表:

| dataConfig.urlIsabled | result |
|-----------------------|--------|
|        null           |  true  |
|        true           |  false |
|        false          |  true  |
|-----------------------|--------|

所以结果是true在所有情况下,除了urlIsabledequals true。因此可以表示为:

val result = dataConfig.urlIsabled != true

推荐阅读