summaryrefslogtreecommitdiff
path: root/java/10-collections/hashcode-contract.txt
blob: 2ed248c6018f4cb1c74b450e43e5c4f6d9426125 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
   Whenever it is invoked on the same object more than once during an execu-
   tion of a Java application, the hashCode() method must consistently return
   the same integer, provided no information used in equals() comparisons
   on the object is modified. This integer need not remain consistent from one
   execution of an application to another execution of the same application.
   
   If two objects are equal according to the equals(Object) method, then
   calling the hashCode() method on each of the two objects must produce the
   same integer result.
   
   It is NOT required that if two objects are unequal according to the
   equals(java.lang.Object) method, then calling the hashCode() method
   on each of the two objects must produce distinct integer results. However,
   the programmer should be aware that producing distinct integer results for
   unequal objects may improve the performance of hashtables.