Non-short-circuit boolean expression
Reports usages of the non-short-circuit forms of boolean 'and' and 'or' (&
, |
, &=
and |=
). Although the non-short-circuit versions are occasionally useful, in most cases the short-circuit forms (&&
and ||
) are intended and such unintentional usages may lead to subtle bugs.
A quick-fix is suggested to use the short-circuit versions.
Example:
void foo(boolean x, boolean y, boolean z) {
if (x | y) { x |= z; }
}
After the quick-fix is applied:
void foo(boolean x, boolean y) {
if (x || y) { x = x || z; }
}
Inspection Details | |
---|---|
Available in: | IntelliJ IDEA 2023.3, Qodana for JVM 2023.3 |
Plugin: | Java, 233.SNAPSHOT |
Last modified: 13 July 2023