hashCode和equals简介说明
下文笔者讲述hashCode和equals简介说明,如下所示
java中重写equals方法时,为什么要重写hashCode呢?
hashCode()介绍
hashCode()功能: 用于获取哈希码(散列码) hashCode其实是一个int型的整数 hashCode值的作用:用于计算出对象在哈希表中的索引 hashCode()定义在Object类中
hashCode用途说明
当我们将一个对象加入HashSet时 1.获取对象的hashCode值来判断对象加入的位置 2.判断对象所计算出的位置是否元素 如果没有元素,则加入 如果有元素,则使用equals检测元素是否相同 如果不相同,则放入对象 如果相同,则不进行任何操作
hashCode()与equals()常见原则
当两个对象相等,则hashcode一定也是相同的 当两个对象相等,对两个对象分别调用equals方法都返回true 当两个对象有相同的hashcode值,它们不一定是相等的 根据以上原则,所以出现了 当重写equals方法后有必要将hashCode方法也重写 这样做才能保证不违背hashCode方法中“相同对象必须有相同哈希值”的常识相关阅读:
java中重写equals方法时,为什么要重写hashCode呢?
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。