java字串的比較:==
#我們常習慣性的寫上if(str1==str2) ,這種寫法在java中可能會帶來問題
example1: (建議學習:java課程)
String a="abc"; String b="abc"
那麼==== 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);
會傳回true。
String類別的equals比較內容相同想法如下:
1、先判斷位址是否相等,相等回傳true
2、比較型別是否一樣,不一樣,回傳false
3、將傳入的物件強轉為String,比較長度,長度不相等,傳回false
4、長度相等,循環比較字元陣列的元素,當有一元素比較內容不相同,馬上傳回false
#5、2個字元陣列循環比較所有元素,沒有內容不相同的元素,回傳true
以上是java比較字串是否相等的詳細內容。更多資訊請關注PHP中文網其他相關文章!