string 为什么不可变

1:String类不能被继承,不能改变里面的实现,又因为String 类里没有提供任何一个可以给我们修改string char数组的方法,所以
2:例如string a = "你好", 你这时候重新给个值给a,那么这个时候jvm会在常量池中重新new一个对象 引用地址改变,本身内容的值是不变的
3:String常量池的设计,就是方便string 常量的存储,对一些经常使用的常量进行一个存储,不需要再New,如果string设计为可变的,那么这个常量池就没有存在的意义了

posted @ 2021-07-22 07:35  JargonFire  阅读(162)  评论(0)    收藏  举报