慕課里老師說(shuō)String對(duì)象創(chuàng)建后就不能被更改,但我試過(guò),下面的代碼不會(huì)報(bào)錯(cuò),運(yùn)行后輸出的jn 也是更改后的值String jn = "dsj"; jn = "d"; System.out.println(jn);
1 回答

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