概述
有缓冲区的字符串,和StringBuffer一样,都可以提高String在修改时的效率。
StringBuilder是线程不安全的,与StringBuffer相比,速度更快,所以不在多线程中,推荐使用StringBuilder
是一个final修饰的类,不可被继承
常用方法与stringBuffer相同
性能比较
使用 String 对象进行拼接20000次,并打印出执行的时间
long startTime = System.currentTimeMillis();
String str="";
for(int i=0;i<20000;i++){
str+="hello world";
}
long endTime=System.currentTimeMillis();
System.out.println(endTime-startTime);
System.out.println(str.length());
使用 StringBuilder 对象进行拼接20000次,并打印出执行的时间
long startTime = System.currentTimeMillis();
StringBuilder str=new StringBuilder();
for(int i=0;i<20000;i++){
str.append("hello world");
}
long endTime=System.currentTimeMillis();
System.out.println(endTime-startTime);
System.out.println(str.length());
观察执行结果