REDUN.EQNULL

冗余运算是没有任何效果的运算,比如

  • 将变量分配给它自己
  • 使用将计算得出常数的表达式,比如 a/a
  • 使用可以简化为一个操作数的表达式,比如 a & a

即使这不是其自身的错误,它也可能预示代码中将出现更大的错误。当对 equals() 进行可疑调用,把空值当作参数进行传递时,将报告 REDUN.EQNULL 警告。通常,equals(null) 会返回 False(对象永远不可能等于空值)。

示例 1

复制
      public int test() {
         String s = "String";
         if (s.equals(null)) {
             return 1;
         }
         return 0;
     }

针对第 11 行报告 REDUN.EQNULL:以“s”和空值进行了可疑的 equals() 调用(永远不可能为 True)。

安全培训

应用程序安全培训材料由 Secure Code Warrior 提供。