java - 避免在 If 条件 SonarQube 错误中使用文字

标签 java object sonarqube

我在 sonarqube 中收到类似 Avoid Literals In If Condition 的错误,并且无法找到正确的解决方案。

     SingleWrapper singleWrapper=null;
      :
      :
      singleWrapper=createWrapper();
      :
      private void wrap(){
           if(singleWrapper != null){  //Here i am getting error.
             //do Something
                             }
                         }

我知道这个问题似乎重复了一个,但它没有,因为之前要求 String 。 感谢您的帮助。

最佳答案

这是因为您的静态代码分析工具将 null 检测为硬编码文字,严格来说,这是正确的。

推荐的行为是像这样声明一个常量对象

final static Object NULL = null;

像这样使用它

if(singleWrapper != NULL)

但我还没有遇到开发人员这样做。在这种情况下,我认为你没问题,你可以忽略代码检查警告。这是我的 2 美分。

关于java - 避免在 If 条件 SonarQube 错误中使用文字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22010575/

相关文章:

java - 如何动态填充 Eclipse 弹出菜单?

PHP 5.2 允许对象语法调用数组索引?

SonarQube REST API : Read Metrics

java - 使用 Java 创建一个递归函数,打印列表中包含的所有可能的项目序列。

java - github 存储库之间的库 (jar) 依赖关系

javascript - 如何在对象中添加项目 - React

javascript - JS "for (var key in arr)"> 抛出我自己的 Array.prototypes,但不是固有的。为什么?

sonarqube - 如何在 SonarQube 中使用现有的 Checkstyle 文件

java - Sonar : Create new rule for Android Lint

Java ProcessBuilder().start() 与 NodeJS require ('child_process' ).spawn()