Inspectopedia Help

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