equals(), compareTo() or similar, that compare an object for equality
with itself.
The method contracts of these methods specify that such calls will always return
true for equals() or 0 for compareTo().
The inspection also checks
calls to Objects.equals(), Objects.deepEquals(),
Arrays.equals(), Comparator.compare(), assertEquals() methods of
test frameworks (JUnit, TestNG, AssertJ), Integer.compare(), Integer.compareUnsigned() and similar methods.
Example:
class Foo {
boolean foo(Object o) {
return o.equals(o); // warning
}
boolean bar(String[] ss) {
return Arrays.equals(ss, ss); // warning
}
}
Use the option to report test assertions report only on non-extendable library classes (like String) and primitive types.
This option can be useful, when testing equals() methods.