==和equals()的區別?


首先數據的表示有基本類型和引用類型。

==   基本類型比較值是否相同

  引用類型比較的是地址是否相同

1    String a =  new String("123");
2     String b =  new String("123");
3     if(a==b) {
4         System.out.println("true");
5     }else {
6         System.out.println("false");
7     }

結果:false
因為地址不同

1     String a = "123";
2     String b =  "123";
3     if(a==b) {
4         System.out.println("true");
5     }else {
6         System.out.println("false");
7     }
結果:true
a和b都指向常量池同一個“123”,所以地址相同。

 

 

equals()

  只能比較引用類型,默認情況下比較的是地址值是否相同。

       但在一些類中重寫了這個方法,如包裝類,String,Date等,equals()比較的是兩個變量的值。

1 String a =  new String("123");
2     String b =  new String("123");
3     if(a.equals(b)) {     //equals
4         System.out.println("true");
5     }else {
6         System.out.println("false");
7     }
結果:true
因為重寫該方法,所以比較的值是否相等

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM