java中不可变定义为:如果一个对象在创建完,其状态不可改变。也就是不能改变此对象的成员变量,包括基本类型的值不能改变,引用类型变量不能指向其他对象,引用类型指向的对象的状态也 不能改变。 不可变的原因:jdk1.8中String成员变量有char[] value,hash等.除了value其他的成员变量都没有进行修改。而value的修改也是表面上的,因为在每个能修改value方法中都是新建 一个String对象返回。但是通过反射机制可以修改String中的成员变量。
String不可变性
原创niaotuo ©著作权
文章标签 String 不可变性 文章分类 Java 后端开发
上一篇:OutofMemoryError
下一篇:原码 反码 补码
![](https://ucenter.51cto.com/images/noavatar_middle.gif)
-
STL-常用容器-string
string 类内部封装了很多成员方法例如:查找find,拷贝copy,删除delete 替换replace,插入insertstring管理char*所分配的内存,不用担心复制越界和取值越界等,由类内部进行负责(RAII)
C++STL STL常用容器 string类 string类的常用接口 -
Java数据类型—String进阶之不可变性
1. 不可变性的实现方式2. 为什么需要不可变性或者说是不可变性的好处3. 不可变性的不足以及改进方案
java 面试 字符串 数组 线程安全