Java常用类:StringBuffer

java.lang.StringBuffer:可变的字符序列

java.lang.StringBuilder:可变的字符序列,是jdk5.0新加入的,线程不安全,效率要高于StringBuffer

StringBuffer类的常用方法

  StringBuffer append(String s) ,StringBuffer append(int n)

  StringBuffer append(Object o),StringBuffer append(char n),

  StringBuffer append(long l),StringBuffer append(boolean n),

  StringBuffer insert(int index,String str),

  public StringBuffer reverse()反转此StringBuffer

  StringBuffer delete(int startIndex,int endIndex,String str)

  public int indexOf(String str)

  public String substring(int start,int end)

  public int length()

总结:添加(append())删除:delete(int i,int j) 修改 setChar(int index,char ch)

     查 charAt(int n)  插入(insert(int index,String str))

     反转:reverse()

   长度:length()

 

@Test

public void test1(){

  StringBuffer sb = new StringBuffer();

  System.out.println(sb.length());//0

  sb.append("abc").append("123");

  //ArrayList list = new ArrayList();

  System.out.println(sb);//

  sb.insert(3,"hello");

  System.out.println(sb);

  StringBuffer sb1 = sb.reverse();

  System.out.println(sb1);

  System.out.println(sb);

}

 

print:

0
abc123
abchello123
321ollehcba
321ollehcba

 

对比String,StringBuffer,StringBuilder三者在添加上的效率

@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 +=i;

  }

  endTime = System.currentTimeMillis();

  System.out.println("String的执行时间"+(endTime-startTime));

}

 

print:

StringBuffer的执行时间7
StringBuilder的执行时间6
String的执行时间914

 

posted @ 2018-10-08 15:42  小龟一号  阅读(69)  评论(0)    收藏  举报