阅读量:0
- 不可修改的字符串:
String
变量不可修改。 - 可修改的字符串:
StringBuffer
和StringBuilder
可修改。 - 线程安全性:
StringBuffer
是线程安全的,StringBuilder
不是。 内存使用:
StringBuffer
使用共享缓存区,调用toString
方法时不创建新数组;StringBuilder
每次调用toString
时都会生成新数组。- 性能: 由于同步锁,
StringBuffer
性能较差,单线程环境下推荐使用StringBuilder
。 - 字符串拼接性能: 使用
String
进行字符串相加效率低于StringBuffer
和StringBuilder
,因为String
拼接背后调用了StringBuilder
的append
和toString
,增加了不必要的对象创建和数组拷贝。