重新计算对象的哈希码

  • 实例说明

  Java中的对象是保存在堆中的,为了提高查找的速度而使用了散列查找。散列查找的基本思想是定义一个键来映射对象所在的内存中地址。

  • 关键技术

  重写hashCode()方法。Object类在实现该方法时,返回值是对像的存储地址。这与equals()方法的实现相关。因此当重写了equals()方法后,一定要重写hashCode()方法。

  eg:

public int hashCode(){
  return 7*name.hashCode() + 11*new Integer(age).hashCode + ...;  
}

  重写equals()方法时,使用到的属性也要在hashCode()方法中使用。计算新的哈希码有很多不同的算法。 

猜你喜欢

转载自www.cnblogs.com/cglib/p/10671308.html