java中常用的字符串的比較方法(兩種)
比較字符串比較常用的兩個方法是運算符“=”和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")方式創(chuàng)建的字符串在計算機堆棧空間里的存儲是不一樣的
現在我也是一個小白,對堆??臻g的理解現在也不是很到位,所以在這里也不好說其中的“玄機”。今天主要是想分享學習到的兩種常見的字符串比較方法。
以上就是本文的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持腳本之家!
相關文章
ProtoStuff不支持BigDecimal序列化及反序列化詳解
這篇文章主要為大家介紹了ProtoStuff不支持BigDecimal序列化/反序列化,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-08-08java并發(fā)數據包Exchanger線程間的數據交換器
這篇文章主要為大家介紹了java并發(fā)數據包使用數據交換器Exchanger來進行線程之間的數據交換。有需要的朋友可以借鑒參考下,希望能夠有所幫助2022-03-03