String不可变性

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

猜你喜欢

转载自blog.51cto.com/3544011/2402043