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

posted @ 2019-06-24 10:49  heroinss  阅读(171)  评论(0编辑  收藏  举报