hashCode 方法是 java.lang.Object 类的一个方法。在 Java 中,所有的类都直接或间接地继承自 Object 类,因此每个 Java 对象都继承了 hashCode 方法。这个方法用于返回对象的哈希码,是 Java 中实现哈希表的基础,如 HashMap、HashSet 等。
hashCode 方法的通用合约包括:
- 在 Java 应用程序执行期间,如果对象的 equals 方法的比较操作在多个调用中都认为两个对象相等,那么在这些调用中,每次调用对象的 hashCode 方法都必须始终返回相同的整数。
这个整数不需要在不同的应用程序执行期间保持一致。
- 如果根据 equals(Object) 方法,两个对象不相等,那么调用每个对象的 hashCode 方法不一定要产生不同的整数结果。但是,程序员应该意识到,为不相等的对象生成不同的整数结果可以提高哈希表的性能。
开发者可以根据需要重写 hashCode 方法来提供自定义的哈希码计算逻辑,以满足特定的业务需求。