Reports duplicate conditions in && and || expressions and branches of if statements. While sometimes duplicate conditions are intended, in most cases they are the result of an oversight.

Example:


  boolean result = digit1 != digit2 || digit1 != digit2;

To ignore conditions that may produce side effects, use the Ignore conditions with side effects option. Disabling this option may lead to false-positives, for example, when the same method returns different values on subsequent invocations.

Example:


  native boolean unknownMethod();
  
  ...
  
  if (unknownMethod() || unknownMethod()) {
    System.out.println("Got it");
  }

Due to possible side effects of unknownMethod() (on the example), the warning will only be triggered if the Ignore conditions with side effects option is disabled.