JD.IFBAD

当“if”语句仅含有空“then”分支时,发生 JD.IFBAD。可能把“;”放错了位置。

漏洞与风险

通常,在代码中,JD.IFBAD 表示逻辑错误。如果将分号放错了位置,则下面的语句被假定仅基于条件执行,而实际上是总是执行。在不太严重的情况下,其只是遗留代码,应将其移除以提升效率。

缓解与预防

更改代码,使 if 包含非空分支或将 if 全部移除。

示例 1

复制
      private void foo(boolean debug) {
         // ...
         if (debug); { // print something
             System.err.println("Enter foo");
         }
     }

针对第 11 行报告 JD.IFBAD:多余的“if”语句。原因可能是将分号放错了位置。

相关检查器