-
String是字符串常量对象,对其进行改变时会相当影响效率,特别注意在循环中直接拼接字符串效率非常差。
-
如果你想改变字符串的值,更加推荐使用StringBuffer与StringBuilder两种可变的字符串对象。
-
StringBuffer与StringBuilder的主要区别在于线程安全上:
- StringBuffer是线程安全型,StringBuilder非线程安全。
- 如果确定应用只在单线程上运行时,更推荐使用StringBuilder,因为其运行效率更高。
-
使用场景总结:
- 如果确定字符串不需改变,则使用String。
- 字符串如需改变,并且只在单线程上运行时,使用StringBuilder。
- 字符串如需改变,并且需要运用在多线程环境里时,使用StringBuffer保证线程安全。