Back to Intellij Community

NumberEquality

java/java-impl/resources/inspectionDescriptions/NumberEquality.html

2025.3-rc-2556 B
Original Source

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);
  }