新闻资讯
看你所看,想你所想

hashcode

hashcode

hashcode

hashCode是jdk根据对象的地址或者字元串或者数字算出来的int类型的数值 详细了解请 参考 public int hashCode()返回该对象的哈希码值。支持此方法是为了提高哈希表(例如 java.util.Hashtable 提供的哈希表)的性能。

基本介绍

  • 中文名:哈希码
  • 外文名:HashCode
  • 程式语言:Java

协定

一致性

在 Java 应用程式执行期间,在对同一对象多次调用 hashCode 方法时,必须一致地返回相同的整数,前提是将对象进行hashcode比较时所用的信息没有被修改。

equals

如果根据 equals(Object) 方法,两个对象是相等的,那幺对这两个对象中的每个对象调用 hashCode 方法都必须生成相同的整数结果,注:这里说的equals(Object) 方法是指Object类中未被子类重写过的equals方法。
即使两个hashCode()返回的结果相等,两个对象的equals方法也不一定相等。

附加

如果根据equals(java.lang.Object)方法,两个对象不相等,那幺对这两个对象中的任一对象上调用 hashCode 方法不一定生成不同的整数结果。但是,程式设计师应该意识到,为不相等的对象生成不同整数结果可以提高哈希表的性能。

重写

HashMap对象是根据其Key的hashCode来获取对应的Value。
在重写父类的equals方法时,也重写hashcode方法,使相等的两个对象获取的HashCode也相等,这样当此对象做Map类中的Key时,两个equals为true的对象其获取的value都是同一个,比较符合实际。
详细的图文例子请参考这里

相关推荐

声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:yongganaa@126.com