String不可变性

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了String不可变性相关的知识,希望对你有一定的参考价值。

java中不可变定义为:如果一个对象在创建完,其状态不可改变。也就是不能改变此对象的成员变量,包括基本类型的值不能改变,引用类型变量不能指向其他对象,引用类型指向的对象的状态也
不能改变。
不可变的原因:jdk1.8中String成员变量有char[] value,hash等.除了value其他的成员变量都没有进行修改。而value的修改也是表面上的,因为在每个能修改value方法中都是新建
一个String对象返回。但是通过反射机制可以修改String中的成员变量。

以上是关于String不可变性的主要内容,如果未能解决你的问题,请参考以下文章

JAVA不可变类(immutable)机制与String的不可变性

Java基础:String不可变性和final修饰

String不可变性

一图解Java中String不可变性

面试题String类包装类的不可变性

面试题String类包装类的不可变性