1、在Object中的 hashCode() 方法是怎样的?
public native int hashCode();
这个方法不是抽象方法,带有native关键字,底层调用c++程序。
2、hashCode()方法返回的是哈希码,实际上是一个Java对象的内存地址,经过哈希算法,得出的一个值,所有hashCode()方法的执行结果可以等同于一个Java对象的内存地址。
以下代码加深理解
import java.util.Objects; public class Test4 { public static void main(String[] args) { Object o = new Object(); int hashValue1 = o.hashCode(); System.out.println(hashValue1); Class1 c = new Class1(); int hashValue2 = c.hashCode(); System.out.println(hashValue2); } } class Class1{ }
输出结果为: