&& 式、|| 式、および if ステートメントの分岐にある重複した条件を報告します。
重複した条件式は意図的に使用されている場合もありますが、不注意に起因するものがほとんどです。
例:
boolean result = digit1 != digit2 || digit1 != digit2;
副作用を引き起こす可能性がある条件を無視するには、「副作用のある条件を無視する」オプションを使用します。 このオプションを無効化すると、同じメソッドが後続の呼び出しで異なる値を返す場合などに誤検知が発生する可能性があります。
例:
native boolean unknownMethod();
...
if (unknownMethod() || unknownMethod()) {
System.out.println("Got it");
}
unknownMethod() (上の例) は副作用を引き起こす可能性があるため、警告は「副作用のある条件を無視する」オプションが無効な場合にのみトリガーされます。