概述
带有缓冲区的字符串,相比于String它的优势是在修改字符串时会在原始对象上修改,不会创建新的对象操作,大大提高了效率。是一个final修饰的类,不可被继承
是线程安全的,适合在多线程中使用,否则推荐使用StringBuilder
构造方法
- StringBuffer():创建一个没有初值的StringBuffer
- StringBuffer(String):创建一个初值是String的StringBuffer
常用方法
append()
追加,在字符串后追加字符串,相当于Sting中的+,但不会创建新的字符串
例子
使用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());
使用StringBuffer对象进行拼接20000次,并打印出执行的时间
long startTime = System.currentTimeMillis();
StringBuffer str=new StringBuffer();
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());
观察执行结果
length()
返回长度
delete()
删除
insert()
插入
reverse()
反转字符串