【发布时间】:2013-12-22 04:52:00
【问题描述】:
来自 oracle 文档
字符串是immutable,字符串也是常量;他们的价值观 创建后无法更改。因为他们是 不可变的,它们可以共享。字符串缓冲区支持可变字符串。
但我总是可以做到以下几点:
String name="SO";
name="SE";
我可以改变这个值,所以它怎么可能是不可变的,据说出于安全原因也像数据库连接等。
请原谅我问了这么基本的问题,但我需要理解。
【问题讨论】:
-
好吧,伙计,如果根据您的所有回答,如果 JVM 在变量的值发生更改时创建新对象,是否成本不高,它可以很好地更新现有引用的值而不是创建新对象并在内存中占用不必要的空间?对不起这种问题。
标签: java string immutability