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