Inspectopedia Help

'equals()' method which does not check class of parameter

Reports equals() methods that do not check the type of their parameter.

Failure to check the type of the parameter in the equals() method may result in latent errors if the object is used in an untyped collection.

Example:

class MyClass { int x; @Override public boolean equals(Object obj) { // equals method should return false if obj is not MyClass return ((MyClass)obj).x == x; } }

Inspection Details

Available in:

IntelliJ IDEA 2023.3, Qodana for JVM 2023.3

Plugin:

Java, 233.SNAPSHOT

Last modified: 13 July 2023