为什么他们决定在Java和.NET(以及其他一些语言)中使字符串不可变?他们为什么不让它变得可变?
所以我读到了HashMap.有人指出:
"Immutability还允许缓存不同键的哈希码,这使得整个检索过程非常快,并建议
IntegerJava Collection API提供的String和各种包装类(例如)是非常好的HashMap键."
我不太明白......为什么?
String和(StringBuilder或StringBuffer)之间存在许多差异,例如可变性和许多字符串操作
可能这个问题看起来有点傻,但我想知道编程范式.
我想问一下,为什么Java实现了另一个类,StringBuilder或者StringBuffer像数据结构那样String.为什么他们自己没有给出这些功能String.
为什么不把String本身线程安全的,或提供一些额外的功能StringBuilder或StringBuffer有?
java ×3
string ×2
.net ×1
caching ×1
hashmap ×1
immutability ×1
mutable ×1
performance ×1
stringbuffer ×1