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

浙公网安备 33010602011771号