String对象是不可变的,它的内容是不能改变的。下列代码会改变字符串的内容吗?
1
2
|
String s = "Java" ;
s = "HTML" ;
|
答案是不能。第一条语句创建了一个内容为"Java"的String对象,并将其引用赋值给s。第二条语句创建了一个内容为"HTML"的新String对象,并将其引用赋值给s。赋值后第一个String对象仍然存在,但是不能再访问它,因为变量s现在指向了新的对象,如图。
2021-08-09 10:36:37
String对象是不可变的,它的内容是不能改变的。下列代码会改变字符串的内容吗?
1
2
|
String s = "Java" ;
s = "HTML" ;
|
答案是不能。第一条语句创建了一个内容为"Java"的String对象,并将其引用赋值给s。第二条语句创建了一个内容为"HTML"的新String对象,并将其引用赋值给s。赋值后第一个String对象仍然存在,但是不能再访问它,因为变量s现在指向了新的对象,如图。