java对象相等
https://www.dutycode.com/post-140.html
简单来首,Object方法里的equals也是直接判断两个引用是否指向同一个地址,即引用同一个对象
public boolean equals(Object obj) { return (this == obj); }
一般情况下需要自己重写equals方法。
先看string
String s1=new String("test"); String s2=new String("test"); System.out.println("s1:"+(s1.hashCode())); System.out.println("s2:"+(s2.hashCode())); System.out.println(s1.equals(s2)+" "+(s1==s2));
s1:3556498
s2:3556498
true false
对string来说,值一样,hashcode就一样
在集合里判断类相等一般会涉及到hashCode
集合里判断相等的机制
https://www.cnblogs.com/Latiny/p/8359088.html