Back to Error Prone

EqualsHashCode

docs/bugpattern/EqualsHashCode.md

2.49.0473 B
Original Source

The contract for Object.hashCode states that if two objects are equal, then calling the hashCode() method on each of the two objects must produce the same result. Implementing equals() but not hashCode() causes broken behaviour when trying to store the object in a collection.

See Effective Java 3rd Edition §11 for more information and a discussion of how to correctly implement hashCode().