Inspectopedia Help

Number comparison using '==', instead of 'equals()'

Reports code that uses == or != instead of equals() to test for Number equality.

With auto-boxing, it is easy to make the mistake of comparing two instances of a wrapper type instead of two primitives, for example Integer instead of int.

Example:

void foo(Integer a, Integer b) { final boolean bool = a == b; }

If a is known to be non-null, then it's safe to apply the "unsafe" quick-fix and get the result similar to the following:

void foo(Integer a, Integer b) { final boolean bool = a.equals(b); }

Inspection Details

Available in:

IntelliJ IDEA 2023.3, Qodana for JVM 2023.3

Plugin:

Java, 233.SNAPSHOT

Last modified: 13 July 2023