== 与 equals()的区别

1.==是判断两个变量或实例是不是指向同一个内存空间

   equals是判断两个变量或实例所指向的内存空间的值是不是相同

2.==是指对内存地址进行比较

   equals()是对字符串的内容进行比较

3.==指引用是否相同

  equals()指的是值是否相同


        String foo = "loveu";

        String bar = "loveu";

        System.out.println(foo == bar);      // 输出为 true

        System.out.println(foo.equals(bar)); // 输出为 true

        
        String foo = new String("loveu");
        String bar = new String("loveu");

        System.out.println(foo == bar);      // 输出为 false
        System.out.println(foo.equals(bar)); // 输出为 true

 

Java中 equals() 和 == 的区别:

http://blog.csdn.net/zhaizu/article/details/38556241

java:String使用equals和==比较的区别

https://www.cnblogs.com/tinyphp/p/3768214.html

深入剖析Java中的装箱和拆箱:

http://www.cnblogs.com/dolphin0520/p/3780005.html

Java内存分配全面浅析:

http://blog.csdn.net/yangyuankp/article/details/7651251

原文地址:https://www.cnblogs.com/lingqinyu/p/8877765.html