java 对String不可改变的理解

String对象不可修改指的是对象本身不可修改 ,而 不是引用不可修改。
String a = "你好 ";
这行代码的意思是声明一个String类型的 引用变量 叫做a,在内存中创建一个String对象(值为"你好"),然后把这个对象的引用赋值给变量a。
a = "hello";
这行代码执行的效果是在内存中另外创建了一个String对象(值为"hello"),然后把这个新对象的引用赋值给变量a,而不是把原来的内存中的那个“你好”的String对象值变为“hello”。如果之后内存中那个“你好”的String对象没有任何引用,那么就会被下一次 垃圾回收 器运行时回收。
String和所有的基本类型包装类的对象都是不变量。内存中的不变量对象的值是不能被改变的。

猜你喜欢

转载自blog.csdn.net/Cary_1029/article/details/80028593
今日推荐