Sonarqube:布尔文字不应该是多余的

Dan*_*ter 1 java sonarqube sonarlint

我有以下漂亮的一个班轮:

boolean outcome = count > 0 ? false : true;
Run Code Online (Sandbox Code Playgroud)

但是从 sonaqube 我得到“删除文字“假”布尔值”

解决方案似乎假设你可以重新写一个函数

但即使那个功能也会有那么简单的一个衬垫并将我放在相同的位置,我不太明白如何修复?想法?

JoS*_*Ste 7

问题是,你在做额外的体操在已经产生的操作boolean

如果我用完整的语法写出你编码的内容:

boolean outcome;

if(count > 0){
  outcome = false;
} else {
 outcome = true;
}
Run Code Online (Sandbox Code Playgroud)

本质上,您正在逆转 count > 0

所以试试

boolean outcome;

if(count > 0){
  outcome = false;
} else {
 outcome = true;
}
Run Code Online (Sandbox Code Playgroud)

甚至更好

boolean outcome = !(count > 0)
Run Code Online (Sandbox Code Playgroud)