慕課里老師說String對象創建后就不能被更改,但我試過,下面的代碼不會報錯,運行后輸出的jn 也是更改后的值String jn = "dsj"; jn = "d"; System.out.println(jn);
1 回答

guangzy2015
TA貢獻2條經驗 獲得超2個贊
你這理解的有偏差。
String 類定義是加上了final 關鍵字了,意味著String對象的值創建初始化以后是不能被修改的。
不能被修改是指內存中創建的對象,開始的時候創建的jn是指向內存中值為“dsj”的String對象的引用,后面那句話是把引用指向了一個新的對象"d",此時內存中存在了兩個對象了,之前的"dsj"的對象還在的。
添加回答
舉報
0/150
提交
取消