string的"=="和 equals()的区别

1.我们都知道对于基本数据类型可以通过“==”进行内容的比较  

   例如 :int x=10;

            int y=10;

           System.out.println("x==y------->"+x==y)    /-----------> true;

2.对于引用类型(即对象),它的值是堆内存中的地址,因此使用“==”比较的是x和y是否指向同一地址,并不是对象的内容。如果要比较对象的内容,例如判断两个String是否相等,要通过x.equals(y)进行比较。

    例如:String str1="hello";

            String str2=new String("hello");

            String str3=str2;

           System.out.println("str1==str2----->"+(str1==str2));  /-------------> false;

           System.out.println("str1==str3----->"+(str1==str3));  /-------------> false;

           System.out.println("str2==str3----->"+(str3==str3));  /-------------> true;

posted @ 2015-07-08 20:34  summer323  阅读(135)  评论(0编辑  收藏  举报