如圖所示,為什么我的str1的值沒有改變,而S2的值就改變了呢?不是說Java String 對象不可變嗎?
3 回答
已采納

蜂之谷
TA貢獻(xiàn)564條經(jīng)驗(yàn) 獲得超863個(gè)贊
str1當(dāng)然不會(huì)變,changeValue方法只是將str1作為參數(shù),并沒有改變str1的值;s2你將s2拼了個(gè)world重新賦給了s2,當(dāng)然變了

阿木木amm
TA貢獻(xiàn)4條經(jīng)驗(yàn) 獲得超1個(gè)贊
修改完后要賦值給str1才有效。第15行代碼改為
str.str1=str.changeValue(str.str1);
你再試試。

一毛錢
TA貢獻(xiàn)156條經(jīng)驗(yàn) 獲得超57個(gè)贊
你的changValue函數(shù)不是改變str1的,他只是獲取一個(gè)值,如果想要改變可以這樣寫
public?String?changeValue(String?str){ str1=str+"World"; return?str1; }
添加回答
舉報(bào)
0/150
提交
取消