比較字符串比較常用的兩個方法是運算符“=”和String的equals方法。
使用“=”比較兩個字符串,是比較兩個對象的的“地址”是否一致,本質就是判斷兩個變量是否指向同一個對象,如果是則返回true,否則返回的是false。而String類的equals方法則是比較兩個字符串的內容是否一致,返回值也是一個布爾類型。
看下面的代碼:
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")方式創建的字符串在計算機堆棧空間里的存儲是不一樣的
現在我也是一個小白,對堆棧空間的理解現在也不是很到位,所以在這里也不好說其中的“玄機”。今天主要是想分享學習到的兩種常見的字符串比較方法。
以上就是本文的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持!