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; } }
void foo(boolean x, boolean y) { if (x || y) { x = x || z; } }

Inspection Details

By default bundled with:

IntelliJ IDEA 2024.1, Qodana for JVM 2024.1,

Can be installed with plugin:

Java, 241.14841

Last modified: 12 March 2024