true, false, null, or 0.
Such expressions can be replaced with the corresponding constant value, or may indicate there is a bug in the code.
Examples:
// always true
// cause: || is used instead of &&
if (x > 0 || x < 10) {}
System.out.println(str.trim());
// always false
// cause: variable was dereferenced before null-check
if (str == null) {}
The inspection's behavior may be controlled by annotations, such as
nullability annotations,
@Contract annotation,
@Range annotation and so on.
Configure the inspection:
if (alwaysFalseCondition) throw new IllegalArgumentException();.assert statements.
By default, assertions are assumed to be executed (-ea mode).
When the option is enabled, assertions will be ignored (-da mode).Before IntelliJ IDEA 2022.3, this inspection was part of the Constant Conditions & Exceptions inspection. This inspection has been split into two inspections: Constant Values and Nullability and data flow problems.