我们先来看一段代码:
这里输出的s1是abcd ,是s1的值改变了吗?不是的
首先声明s1=“abcd”内存中的操作是:
引用:https://www.programcreek.com/2009/02/diagram-to-show-java-strings-immutability/
s1重新赋值时:
s1=“abcdf”;s1并没有改变原来的值,而是new了一个新对象,并将s1指向新的对象。原有的对象则被GC回收;
引用:https://www.programcreek.com/2009/02/diagram-to-show-java-strings-immutability/
String值不可改变?
最新推荐文章于 2021-10-24 10:02:34 发布