
请认真看我的问题:
我仔细看了一下这四句话,得出来的结论:
1. object.equals 比较的是引用内容,应用内容相等,肯定是同一个对象或者说对象相等。
2. Hashcode算法的对象是和对象的信息本身和地址有关,不是单一的和地址有关。
因为如何只和地址有关,肯定是和equals同步的

请认真看我的问题:
我仔细看了一下这四句话,得出来的结论:
1. object.equals 比较的是引用内容,应用内容相等,肯定是同一个对象或者说对象相等。
2. Hashcode算法的对象是和对象的信息本身和地址有关,不是单一的和地址有关。
因为如何只和地址有关,肯定是和equals同步的
关注【1】 object.equals 比较的是引用内容,应用内容相等,肯定是同一个对象或者说对象相等。
不一定,,比如
String a = new String("ABC");
String b = new String("ABC");
System.out.println(a.equals(b));//true
System.out.println(b.equals(a));//true
System.out.println(a==b);//false
【2】Hashcode算法的对象是和对象的信息本身和地址有关,不是单一的和地址有关。
hashcode和物理地址没关系,只是一种约定,并非强制性的。主要是为相关哈希集合及运算服务的。
public native int hashCode();//源码中是一个本地方法
有个例子,,连个对象不一定相等,但是hashCode相等。(数字可能不一样但是,相等)
String a = new String("ABC");
String b = new String("ABC");
System.out.println(a.hashCode());//64578
System.out.println(b.hashCode());//64578