java - Sonar 库 : Boolean literals should not be redundant

标签 java sonarqube sonarlint

我有以下漂亮的内衬:

boolean outcome = count > 0 ? false : true;

但是从 sonaqube 中我得到“删除文字“假” boolean 值”

solution似乎假设你可以重写为函数

但即使该功能也有那么简单的一个衬里并将我置于相同的位置,我不太明白如何解决?想法?

最佳答案

问题是您正在对已经生成 boolean 值的操作进行额外的练习

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

boolean outcome;

if(count > 0){
  outcome = false;
} else {
 outcome = true;
}

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

所以尝试一下

boolean outcome = !(count > 0)

甚至更好

boolean outcome = count <= 0

关于java - Sonar 库 : Boolean literals should not be redundant,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59283655/

相关文章:

eclipse - 如果文件被排除,如何将其包含在声纳 lint 中进行分析?

java - 在java中选择最近选择的颜色

java - Lotus Domino Designer 导入第 3 方 jar 文件

java - 在 NatTable 单元格中显示图像

javascript - 我如何编写更好的 Angular 路由器

java - SonarQube IntelliJ 插件如何对新代码运行检查

java - 与 Memoize 一起使用的 Guava 供应商的 Sonarlint 违规行为

java - Android NoClassDefFoundError 与生成最终存档时出错 : Found duplicate file for APK:

java - Sonar findbugs,是否可以在未编译的文件上运行 findbugs?

java - SonarLint:返回空集合而不是 null