String对象创建后是否可以更改

慕课里老师说String对象创建后就不能被更改,但我试过,下面的代码不会报错,运行后输出的


jn 也是更改后的值

String jn = "dsj";

jn = "d";

System.out.println(jn);


fenkapian
浏览 1607回答 1
1回答

guangzy2015

你这理解的有偏差。String 类定义是加上了final 关键字了,意味着String对象的值创建初始化以后是不能被修改的。不能被修改是指内存中创建的对象,开始的时候创建的jn是指向内存中值为“dsj”的String对象的引用,后面那句话是把引用指向了一个新的对象"d",此时内存中存在了两个对象了,之前的"dsj"的对象还在的。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java