/*
* StringBuffer:代表可变的字符序列,可以对字符串内容进行增删
* 方法:
* 添加:append()
* 插入:insert(int index,String str)
* 翻转:reverse()
* 修改:setCharAt(int index,char ch)
* 删除:delete(int start,int end)
*
*
* StringBuilder:可变的字符序列,是jdk5.0新加入的,线程不安全,效率高于StringBuffer
*/
public class TestStringBuffer {
/*
* 对比String,StringBuffer,StringBuilder三者在添加上的效率:
* 效率从高到底: StringBuilde > StringBuffer > String
*/
@Test
public void test3(){
String text = "";
long startTime = 0L;
long endTime = 0L;
StringBuffer buffer = new StringBuffer("");
StringBuilder builder = new StringBuilder("");
startTime = System.currentTimeMillis();
for(int i = 0;i<20000;i++){
buffer.append(String.valueOf(i));}
endTime = System.currentTimeMillis();
System.out.println("StringBuffer的执行时间:"+(endTime-startTime));
startTime = System.currentTimeMillis();
for(int i = 0;i<20000;i++){
builder.append(String.valueOf(i));}
endTime = System.currentTimeMillis();
System.out.println("StringBuilder的执行时间:"+(endTime-startTime));
startTime = System.currentTimeMillis();
for(int i = 0;i<20000;i++){
text = text + i;}
endTime = System.currentTimeMillis();
System.out.println("String的执行时间:"+(endTime-startTime));
}
@Test
public void testStringBuffer(){
StringBuffer sb = new StringBuffer();
System.out.println(sb.length());
sb.append("abc").append("123");
System.out.println(sb);
sb.insert(3, "hello");
System.out.println(sb);
StringBuffer sb1 = sb.reverse();
System.out.println(sb1);
System.out.println(sb);
}
}
StringBuffe与StringBuilder的使用
最新推荐文章于 2024-07-07 18:58:04 发布