猿问

String对象不可变解释。


如图所示,为什么我的str1的值没有改变,而S2的值就改变了呢?不是说Java String 对象不可变吗?

高山彝人
浏览 1548回答 3
3回答

蜂之谷

str1当然不会变,changeValue方法只是将str1作为参数,并没有改变str1的值;s2你将s2拼了个world重新赋给了s2,当然变了

阿木木amm

修改完后要赋值给str1才有效。第15行代码改为str.str1=str.changeValue(str.str1);你再试试。

一毛钱

你的changValue函数不是改变str1的,他只是获取一个值,如果想要改变可以这样写public String changeValue(String str){ str1=str+"World"; return str1; }
随时随地看视频慕课网APP

相关分类

Java
我要回答