java - 字符串作为不可变对象(immutable对象)

标签 java string

如果 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/

相关文章:

java - 如何在 Grizzly 嵌入式 Jersey 应用程序上获取 HTTP 请求方法?

Java - 如何修复格式错误的 JSON?

python - 支持单个字符串和数组作为一个参数

c++ - 将字符数组中的元素范围提取到字符串中

r - R 中的选择性替换字符串

java - 有没有办法获取 'BigInteger' 变量的总大小?

java - 为动态添加的 View 设置 OnClickListeners

Java,我可以将任意接口(interface)应用于现有类吗?

python - 如何替换python字符串中的占位符

string - 在 tcl 中连接两个字符串