比較字符串比較常用的兩個方法是運算符“=”和String的equals方法。
使用“=”比較兩個字符串,是比較兩個對象的的“地址”是否一致,本質就是判斷兩個變量是否指向同一個對象,如果是則返回true,否則返回的是false。而String類的equals方法則是比較兩個字符串的內容是否一致,返回值也是一個布爾類型。
看下面的代碼:
1
2
3
4
5
6
7
8
9
10
11
12
|
public class TestString{ public static void main(String[] args){ String str1 = "張三" ; String str2 = "張三" ; System.out.println(str1 == str2); //返回true System.out.println(str1.equals(str2)); //返回true String str3 = new String( "李四" ); String str4 = new String( "李四" ); System.out.println(str3 == str4); //返回false System.out.println(str3.equals(str4)); //返回true } } |
結果輸出:
從上面的代碼也可以看得出來,通過String str = " XXX"方式和通過String str = new String("XXX")方式創建的字符串在計算機堆棧空間里的存儲是不一樣的
現在我也是一個小白,對堆棧空間的理解現在也不是很到位,所以在這里也不好說其中的“玄機”。今天主要是想分享學習到的兩種常見的字符串比較方法。
以上就是本文的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持服務器之家!
原文鏈接:http://www.cnblogs.com/Mus-Li/p/6540057.html