The hashCode method

The hashCode() method returns an int. The documentation says that any class redefining this method should provide the following implementation:

  • Consistently return the same value if the object was not modified
  • Result the same int value for two objects that are equal (the equals() method returns true)

The documentation also mentions that this is not a requirement to result different int values for objects that are not equal, but it is desirable to support the performance of the hash implementing collections.

If you violate any of these rules in the implementation of equals() and hashCode(), then the JDK classes using them may fail. You can be sure that HashSet, HashMap, and similar classes were fully debugged, seeing ...

Get Java Projects - Second Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.