Kotlin简化布尔expression式

为什么我会在我的if条件行中得到一个说"Simplify boolean expression"的小错误?

例如这段代码:

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

尝试以下简单的布尔expression式并避免错误:

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

希望有帮助!

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

在你的情况下,提出警告的意图行动将如下所示:

意图行动:简化布尔表达式

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

在这里输入图像说明

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

事实上,有些情况下非缩写代码更清晰。 例如,我更喜欢false == aVeryLongVariableOrFunctionName to !aVeryLongVariableOrFunctionName ,其中的! 几乎看不见的眼睛。

要处理布尔在Kotlin isClear,可以使用下面的expression式。

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

但是,如果isClear是空的,我们可以使用下面的代码片段。

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