String对象不可变的原因,
1、value,offset和count这三个变量都是private的并且设为final修饰,而final就决定了字符串不可变,虽然通过反射是可以改变value的。。。2、String类的方法里面对于每次对string的修改都采取了new String()的方法
3、每次String s = ‘111’;s =’22’;s只是引用改变的只是地址,咋内存中创建一个空间存放22,111并没有被覆盖,只是这个引用重新指向了22,改变的只是地址值。
String对象为什么不可变
最新推荐文章于 2023-03-29 14:19:27 发布