猿问
String对象不可变解释。
如图所示,为什么我的str1的值没有改变,而S2的值就改变了呢?不是说Java String 对象不可变吗?
高山彝人
浏览 1553
回答 3
3回答
蜂之谷
str1当然不会变,changeValue方法只是将str1作为参数,并没有改变str1的值;s2你将s2拼了个world重新赋给了s2,当然变了
0
0
1
阿木木amm
修改完后要赋值给str1才有效。第15行代码改为str.str1=str.changeValue(str.str1);你再试试。
0
0
1
一毛钱
你的changValue函数不是改变str1的,他只是获取一个值,如果想要改变可以这样写public String changeValue(String str){ str1=str+"World"; return str1; }
0
0
1
随时随地看视频
慕课网APP
相关分类
Java
我要回答