`
and4walker
  • 浏览: 557343 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

重写hashCode()

    博客分类:
  • JAVA
 
阅读更多
Hash函数:任意长度的消息压缩成某一固定长度消息的函数。即Hash就是找到一种数据内 容和数据存放地址之间的映射关系。

任何class如果覆写了equals()方法,就必须覆写hashCode()。

1。在程序执行期间,同一个对象调用hashCode()必须返回同一个值(同一个应用执行期)。
2。如果两个对象equals,那么他们的hashCode()必须相等。
3。如果两个对象equals不相等,那么他们的hashCode()不必产生不同的结果,程序员应该注意到,对不同的对象产生不同的hashCode(),有可能提升 hash table(哈希表)的效率

何时重写hashCode()?
1.当一个对象被当作键值(或索引)来使用的时候。
2.添加到Set中的对象必须要定义equals(),以至于必须要重写hashCode()。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics