报告 && 和 || 表达式以及 if 语句的分支中的重复条件。 这些重复的条件表达式有时是故意使用的,但通常因疏忽大意所致。

示例:


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

要忽略可能产生副作用的条件,请使用忽略有副作用的条件 选项。 禁用此选项可能会导致误报,例如,当同一方法在后续调用中返回不同的值时。

示例:


  if (iterator.next() != null || iterator.next() != null)
    System.out.println("Got it");
  }

由于 iterator.next() 可能存在副作用(在示例中),只有在禁用 忽略有副作用的条件 选项时才会触发警告。