为什么说Java String 类型的值是不可改变的?

String对象是不可变的,它的内容是不能改变的。下列代码会改变字符串的内容吗?

1
2
String s = "Java";
s = "HTML";

答案是不能。第一条语句创建了一个内容为"Java"的String对象,并将其引用赋值给s。第二条语句创建了一个内容为"HTML"的新String对象,并将其引用赋值给s。赋值后第一个String对象仍然存在,但是不能再访问它,因为变量s现在指向了新的对象,如图。

 

posted @ 2016-08-25 17:43  liuluvaliant  阅读(585)  评论(0编辑  收藏  举报