首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

怎么重写hashCode的方法

2012-10-26 
如何重写hashCode的方法为什么要重写hashCode方法??我们应该先了解java判断两个对象是否相等的规则。?在jav

如何重写hashCode的方法

为什么要重写hashCode方法?

?

我们应该先了解java判断两个对象是否相等的规则。

?

在java的集合中,判断两个对象是否相等的规则是:


首先,判断两个对象的hashCode是否相等

如果不相等,认为两个对象也不相等
如果相等,则判断两个对象用equals运算是否相等?
如果不相等,认为两个对象也不相等?
如果相等,认为两个对象相等

?

我们在equals方法中需要向下转型,效率很低,所以先判断hashCode方法可以提高效率

?

如何重写hashCode方法呢?

?

public class Test {private String s = null;private int id = 0;...public int hashCode() {int result = 17;result = 37 * result + s.hashCode();result = 37 * result + id;return result;}}?

热点排行