我略有困惑,顯然失去了一些東西:Java的字符串「常量」混亂
我讀到java.lang.String中的「是常量;在創建之後它們的值不能改變。」
但如果我寫了下面的代碼:
String line;
line = "Test1";
System.out.println(line);
line = "Test2";
System.out.println(line);
,端子輸出:
Test1
Test2
看來我能設置一個值,再後來設置的字符串的另一個值。
,如果我嘗試這種方式沒有區別:
String line2 = "Test3";
System.out.println(line2);
line2 = "Test4";
System.out.println(line2);
我仍然可以對其進行了初始設置後,設置的值。
我在哪裏出錯了?
謝謝。
在你的例子中,你沒有修改這個值,你正在修改這個參考。 –
http://en.wikipedia.org/wiki/Immutable_object – Habib
感謝所有回覆,一切有用。非常認識到參考是什麼變化。這僅僅是針對某些對象還是它也適用於基元類型? – Xerphiel