StringBuffer和StringBuilder類
1.與String相比,效率高而且節省內存
StringBuffer和StringBuilder類:
package com.tiedandan.java常用類.String增強類;
public class Application {
public static void main(String[] args) {
//StringBuffer類,jDK1.0開始,StringBuild類,從5.0開始,效率更高,不太安全。
StringBuilder sb1 = new StringBuilder();//StringBuffer sb1 = new StringBuffer();兩個類用法一樣
//追加方法append();在字符串后面追加。
System.out.println(sb1.append("java世界第一"));
System.out.println(sb1.append("php也很厲害"));
System.out.println(sb1);
//insert添加方法,可以選擇添加的字符串位置
System.out.println(sb1.insert(0,"我的"));
System.out.println(sb1.insert(6,"語言"));
//replace()替換指定位置字符串,
System.out.println(sb1.replace(0,2,"你的"));//含頭不含尾
//delete刪除指定位置字符串
System.out.println(sb1.delete(0,2));//刪除字符串位置同樣含頭不含尾
//清空字符串
System.out.println(sb1.delete(0,sb1.length()));
}
}
測試String類,StringBuild類,StringBuffer類的運行效率:
package com.tiedandan.java常用類.String增強類;
public class Test {
public static void main(String[] args) {
String str1="";
long start =System.currentTimeMillis();
for (int i = 0; i <99999 ; i++) {
str1+=i;
}
long end = System.currentTimeMillis();
System.out.println("string類累加用時:"+(end-start));
System.out.println("----------------------------");
StringBuilder str = new StringBuilder();
long start2 =System.currentTimeMillis();
for (int i = 0; i <99999 ; i++) {
str.append(i);
}
long end2 = System.currentTimeMillis();
System.out.println("StringBuilder類累加用時:"+(end2-start2));
System.out.println("--------------------------");
StringBuffer str3 =new StringBuffer();
long start3 =System.currentTimeMillis();
for (int i = 0; i <99999 ; i++) {
str3.append(i);
}
long end3 = System.currentTimeMillis();
System.out.println("stringBuffer類累加用時:"+(end3-start3));
}
}