Java可变字符串 StringBuffer 与 StringBuilder
StringBuffer,StringBuilder特点
- StringBuffer:可变长字符串,JDK1.0提供,运行效率慢,线程安全 多线程
- StringBuilder:可变长字符串,JDK5.0提供,运行效率快,线程不安全 单线程
与String 的区别
- 效率高
- 节省内存
方法
- append(str) 追加
- insert(index,str) 插入添加
- replace(start,end,str) 替换
- delete(start,end) 删除 delete(0,str.length()) 清空
- reverse() 反转
效率测试
package com.lei.String;
/**
* 测试StringBuffer,StringBuilder,String之间的效率
*/
public class Demo4 {
public static void main(String[] args) {
// 开始时间
long start = System.currentTimeMillis();
// StringBuffer str = new StringBuffer("");
// StringBuilder str = new StringBuilder("");
String str = "";
for (int i=0; i<999999; i++){
str += i;
// str.append(i);
}
// 结束时间
long end = System.currentTimeMillis();
System.out.println("用时:" + (end-start));
}
}