谈谈Java的string为什么是不可变的

1.首先什么是String?

    String对象是一个存储了字符数组的引用对象。

2.为什么不能改变?

    我们知道String类中的字符数组value是final类型,什么是final类型?即不能改变其值,引用变量的值就是变量的地址(也就是传说中的指针)。

在String类中没有提供value变量修改的接口,所以String的值不能被改变。

3.真的不能改变吗?

    当然可以,通过什么途径,那就是反射,具体怎么实现这里不再陈述

原文地址:https://www.cnblogs.com/sunke/p/10914535.html