请教一下一个基础问题
objects.equals方法是对地址进行比较,与==操作结果应该相同,为什么在这里得到了不同的结果?

解决方案 »

  1.   

    String类型是包装类,new的话等于类的实例化,哪怕内容相同地址会不同,“==”比较的是地址,“equals”比较的是值。
      

  2.   

    public static void main(String[] args){
        String a =new String("a");
            String b =new String("a");
            String c=a;
            System.out.println(System.identityHashCode(a));
            System.out.println(System.identityHashCode(b));
            System.out.println(System.identityHashCode(c));
            System.out.println(Objects.equals(a,b));// 实现代码: return (a==b) || (a!=null && a.equals(b)) -> 结果就是 false || true
            System.out.println(a==b); //比较对象地址
        }
    后面调用的String的equalshttps://www.cnblogs.com/tinyphp/p/3768214.html