【发布时间】:2012-07-08 13:12:42
【问题描述】:
可能重复:
Why are strings immutable in many programming languages?
为什么Java中的String类是不可变的?
这背后是否有任何具体原因,或者这只是作者的决定?
【问题讨论】:
-
把问题转过来:为什么
String是可变的?
可能重复:
Why are strings immutable in many programming languages?
为什么Java中的String类是不可变的?
这背后是否有任何具体原因,或者这只是作者的决定?
【问题讨论】:
String 是可变的?
不可变字符串是许多语言编写者使用的决定。即 C# 和其他。由于字符串不可变,它使字符串对象本质上是线程安全的。这允许在多线程应用程序中使用字符串而不考虑锁。
它还允许对字符串的更改以更改列表的方法从原始字符串中分支出来。这通常是字符串在初始构造后的逻辑思维方式。
【讨论】: