java判斷字串是否相等的方法:
1、java中字串的比較:==
#我們經常習慣性的寫上if(str1==str2),這種寫法在java中可能會帶來問題
example1:
String a="abc"; String b="abc"
那麼a==b將會回傳true。因為在java中字串的值是不可改變的,相同的字串在記憶體中只會存
一份,所以a和b指向的是同一個物件;
example2 :
String a=new String("abc"); String b=new String("abc");
那麼a==b將回傳false,此時a和b指向不同的物件。
2、用equals方法比較的是字串的內容是否相同
#example:
String a=new String("abc"); String b=new String("abc"); a.equals(b);
(1)對於==,如果作用於基本資料型別的變數(byte,short,char,int,long,float,double,boolean ),則直接比較其儲存的"值"是否相等;如果作用於引用類型的變數(String),則比較的是所指向的物件的位址(即是否指向同一個物件)。
(2)equals方法是基底類別Object中的方法,因此對於所有的繼承於Object的類別都會有該方法。在Object類別中,equals方法是用來比較兩個物件的參考是否相等,也就是是否指向同一個物件。
(3)對於equals方法注意:equals方法不能作用於基本資料型別的變數。如果沒有對equals方法進行重寫,則比較的是引用類型的變數所指向的物件的位址;而String類別對equals方法進行了重寫,用來比較指向的字串物件所儲存的字串是否相等。其他的一些類別諸如Double,Date,Integer等,都對equals方法進行了重寫用來比較指向的物件所儲存的內容是否相等。
更多java知識請關注java基礎教學欄。
以上是java判斷字串是否相等的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!