String a = "hello";System.out.println(a);a = " world!!!";System.out.println(a);輸出一個是 hello 一個world!!!為什么說String 是不可變的。
1 回答

慕勒3428872
TA貢獻1848條經驗 獲得超6個贊
誰說string不可變的?應該是這句話不完整吧?string類型是值類型,通過重新賦值是可以改變值的,具體說,string定義成a就是在棧中開辟了一個空間,= "hello"將a棧指向了值為hello的堆,當你執行a = " world!!!";的時候,a棧重新指向了值為world!!!的堆,釋放了值為hello的堆。就是在棧中的a地址沒有變,指定的值變了。你說的string不變是這個意思吧
添加回答
舉報
0/150
提交
取消