StringBuilder 和 StringBuffer
1. StringBuilder 和 StringBuffer都是属于可变长字符串[在改变字符串的时候,不会产生新的对象]
2.创建:
new StringBuilder()
new StringBuilder("String")
3.常用API:
StringBuilder append(Object obj) - 追加
StringBuilder delete(int start, int end) - 删除
StringBuilder insert(int offset, boolean b) - 插入
StringBuilder replace(int start, int end, String str) - 替换
StringBuilder reverse() - 反转
4.区别:
a.版本:
StringBuilder -> JDK1.5
StringBuffer -> JDK1.0
b.线程安全
StringBuilder: 线程不安全,效率高
StringBuffer: 线程安全,效率低
c.使用环境:
操作少量的数据使用 String
单线程环境下大量数据使用 StringBuilder
多线程环境下大量数据使用 StringBuffer
d.效率对比(慢到快)
String < StringBuffer < StringBuilder