1. 程式人生 > >java 對String不可改變的理解

java 對String不可改變的理解

String物件不可修改指的是物件本身不可修改 ,而 不是引用不可修改。
String a = "你好 ";
這行程式碼的意思是宣告一個String型別的 引用變數 叫做a,在記憶體中建立一個String物件(值為"你好"),然後把這個物件的引用賦值給變數a。
a = "hello";
這行程式碼執行的效果是在記憶體中另外建立了一個String物件(值為"hello"),然後把這個新物件的引用賦值給變數a,而不是把原來的記憶體中的那個“你好”的String物件值變為“hello”。如果之後記憶體中那個“你好”的String物件沒有任何引用,那麼就會被下一次
垃圾回收
器執行時回收。
String和所有的基本型別包裝類的物件都是不變數。記憶體中的不變數物件的值是不能被改變的。