Kotlin 简化布尔表达式

Kotlin Simplify Boolean Expression

为什么我的 if 条件行中出现 "Simplify boolean expression" 的小错误?

例如这段代码:

if (isClear==true){
    displayText.setText("")
}

尝试以下操作来简化布尔表达式并避免错误:

if (isClear) {
    displayText.setText("")
}

要在 Kotlin 中处理 Boolean isClear,可以使用以下表达式。

when(isClear) {
 true -> {}
 false -> {}
}

但是如果 isClear 可以为 null,我们可以使用以下代码片段。

 when(isClear) {
 true -> {}
 false -> {}
 null -> {}
}

我想补充一点,如果在 IDEA 中出现警告和错误,您可以在光标位于它们时调用意图操作(Alt + Enter on Windows 和 Linux、Command + Return Mac) 以获得可能的修复。

在您的情况下,针对警告提出意向操作将如下所示:

选择单个可用选项将为您转换为简化代码:

您可以在 JetBrains IDEA 中禁用警告:File → Settings... → Editor → Inspections → Kotlin → Style issues → Boolean expression that can be simplified

事实上,在某些情况下,非缩写代码更清晰。 例如,我更喜欢 false == aVeryLongVariableOrFunctionName 而不是 !aVeryLongVariableOrFunctionName,其中 ! 几乎看不见。