如果 String 是不可变对象(immutable对象),那么是否可以恢复更改后的值? 我的意思是,如果有一个字符串变量
String str="Hello";
如果改为
str="Hi!";
现在,我们知道它将创建两个字符串对象“Hello”和“Hi!”目前 str 点为“Hi!”。所以我要问的是,是否可以将字符串“Hello”(前一个,而不是通过创建新的)的引用分配给str,因为它存在于内存?
最佳答案
你可以做到
str = "你好"
JVM 尝试在其字符串池
中查找String
Hello
,如果找到,它将重新分配您的变量str
到 你好
关于java - 字符串作为不可变对象(immutable对象),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19014053/