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”语句。原因可能是将分号放错了位置。