hashCode 属性
该对象的哈希码。
哈希码是一个单整数,表示影响 操作符 == 比较的对象状态。
所有对象都有哈希码。由 Object 实现的默认哈希码仅表示对象的标识,就像默认的 操作符 == 不仅在对象相同的情况下考虑对象相等(请参阅 identityHashCode)。
如果 操作符 == 被覆盖以使用对象状态,则必须也要更改哈希码以表示该状态,否则对象不能用于如默认的 Set 和 Map 实现这类基于哈希的数据结构。
对于根据 操作符 == 相等的对象,它们的哈希码必须相同。对象的哈希码仅在其状态改变并影响相等性时才应改变。对哈希码没有其他要求。它们无需在不同的程序执行之间保持一致,也没有分布保证。
不相等的对象允许具有相同的哈希码。在技术上也允许所有实例都具有相同的哈希码,但如果冲突发生得太频繁,它可能会降低如 HashSet 或 HashMap 这样的基于哈希的数据结构的效率。
实现
external int get hashCode;