String对象为什么不可变

来源:互联网 发布:如何办理软件娱乐 编辑:程序博客网 时间:2024/04/29 08:55

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

0 0
原创粉丝点击