查看原码可知
String类型被final
所修饰,不可对它的实例进行修改
即:String类型的实例是一个常量,跟八大基本类型 int 、double等一样
但根据我们所学到的,String是一个引用类型啊,为什么是一个常量呢?
这就跟String实例化的过程相关
String在实例化时,一旦初始化就再不能进行修改
若是收到了修改, Java处理机制会重新开辟一个新的地址空间存放这个新的值,然后再把原来的对象指向新的地址。
由此则衍生出了一个可修改的字符串类型——StringBuffer
因此,在进行克隆时,无需对String类型的变量进行克隆
克隆后的对象在对String修改时(相对于新开辟了一个地址空间),也不会对原对象产生影响。
资料参考:
https://blog.csdn.net/qq_36159851/article/details/62457559