可能重复:
Why are strings immutable in many programming languages?
为什么java中的String类是不可变的?
这背后是否有任何具体原因,或者这仅仅是作者的决定?
答案 0 :(得分:3)
不可变字符串是许多语言编写者使用的决定。即C#和其他人。对于字符串不可变,它使字符串对象本身具有线程安全性。这允许在不考虑锁的情况下在多线程应用程序中使用字符串。
此外,它允许更改字符串以在更改列表方法中分离原始字符串。这通常是在初始构造字符串之后逻辑地考虑字符串的方式。