慕课里老师说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
提交
取消