歡迎光臨
每天分享高質量文章

三張圖徹底瞭解 Java 中字串的不變性

(點選上方公眾號,可快速關註)


來源:Hollis(@Hollis_Chuang),

www.hollischuang.com/archives/1230

定義一個字串

String s = “abcd”;

s中儲存了string物件的取用。下麵的箭頭可以理解為“儲存他的取用”。

使用變數來賦值變數

String s2 = s;

s2儲存了相同的取用值,因為他們代表同一個物件。

字串連線

s = s.concat(“ef”);

s中儲存的是一個重新創建出來的string物件的取用。

總結

一旦一個string物件在記憶體(堆)中被創建出來,他就無法被修改。特別要註意的是,String類的所有方法都沒有改變字串本身的值,都是傳回了一個新的物件。

如果你需要一個可修改的字串,應該使用StringBuffer 或者 StringBuilder。否則會有大量時間浪費在垃圾回收上,因為每次試圖修改都有新的string物件被創建出來。

看完本文有收穫?請轉發分享給更多人

關註「ImportNew」,提升Java技能

贊(0)

分享創造快樂