1:返回该对象的哈希码值。默认情况下,该方法会根据对象的地址来计算。
2:不同对象的,hashCode()一般来说不会相同。但是,同一个对象的hashCode()值肯定相同。
下方代码:
public class Demo1_HashCode {
public static void main(String[] args) {
Object obj1=new Object();
int s1=obj1.hashCode();
System.out.println(s1);//相同对象
System.out.println(s1);//相同对象
Object obj2=new Object();
int s2=obj2.hashCode();
System.out.println(s2);//不同对象
}
}
运行结果:
366712642
366712642
1829164700
下面我们在看看Object类中怎么定义的hashCode方法
hashCode返回值为int类型数据,所以图1我们定义了int类型来接收数据,native表示根据系统资源计算的,我们的虚拟机是在windows上跑的,所以借助本地资源计算的hashCode值。