为什么java中的String是不可变的?

时间:2012-07-08 13:12:43

标签: java string

  

可能重复:
  Why are strings immutable in many programming languages?

为什么java中的String类是不可变的?
这背后是否有任何具体原因,或者这仅仅是作者的决定?

1 个答案:

答案 0 :(得分:3)

不可变字符串是许多语言编写者使用的决定。即C#和其他人。对于字符串不可变,它使字符串对象本身具有线程安全性。这允许在不考虑锁的情况下在多线程应用程序中使用字符串。

此外,它允许更改字符串以在更改列表方法中分离原始字符串。这通常是在初始构造字符串之后逻辑地考虑字符串的方式。