1
、
hashCode
的存在主要是⽤于查找的快捷性,为了配合基于散列的集合正常运⾏,如
Hashtable
,
HashMap
等,
hashCode
是 ⽤来在散列存储结构中确定对象的存储地址的;
2
、如果两个对象相同,就是适⽤于
equals
(
java.lang.Object
) ⽅法,那么这两个对象的
hashCode
⼀定要相同;
3
、如果对象的
equals
⽅法被重写,那么对象的
hashCode
也尽量重写,并且产⽣
hashCode
使⽤的对象,⼀定要和
equals
⽅法中 使⽤的⼀致,否则就会违反上⾯提到的第2点;
4
、两个对象的
hashCode
相同,并不⼀定表示两个对象就相同,也就是不⼀定适⽤于
equals
(
java.lang.Object
) ⽅法,只能够说 明这两个对象在散列存储结构中,它们存放在同⼀个桶⾥⾯。