首页 > 代码库 > 对象的哈希代码
对象的哈希代码
哈希码(也叫散列码)是一个整数值。计算整数的算法称为散列函数。Java使用散列码从基于散列的集合中有效地检索数据。Object
类有一个返回int
的hashCode()
方法,它是对象的哈希码。
该方法的默认实现通过将对象的内存地址转换为整数来计算对象的哈希码。下面是我们在类中重写hashCode()
方法时必须遵循的规则。
假设有两个对象引用,x
和y
。
如果x.equals(y)
返回true
,x.hashCode()
必须返回一个整数,它等于y.hashCode()
。
如果两个对象使用equals()
方法相等,则它们必须具有相同的哈希码。
如果x.hashCode()
等于y.hashCode()
,则x.equals(y)
不必返回true
。
如果对同一个对象多次调用hashCode()
方法,则该方法必须返回相同的整数值。
如果一个类覆盖这两个方法中的任何一个,它必须基于散列集合覆盖该类的对象以保证能正确工作。Java 7添加了一个实用程序类java.lang.Objects
。 它包含一个hash()
方法,用于计算任意数量值的哈希码。从java 7,使用Objects.hash()
方法来计算对象的哈希码。
点击链接查看详细内容
对象的哈希代码
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。