Java 可变字符串StringBuilder/StringBuffer的区别
public class StringBuilder_and_StringBuffer { private static long SystemTime(){ return System.currentTimeMillis(); } private static void TString(){ long begin=SystemTime(); String text=""; for (int i = 0; i <10000; i++) { text+=i; } long end=SystemTime(); System.out.println(end-begin); } private static void StringBuilder(){ long begin=SystemTime(); StringBuilder text=new StringBuilder(""); for (int i = 0; i <50000; i++) { text.append(i); } long end=SystemTime(); System.out.println(end-begin); } private static void StringBuffer(){ long begin=SystemTime(); StringBuffer text=new StringBuffer(""); for (int i = 0; i <50000; i++) { text.append(i); } long end=SystemTime(); System.out.println(end-begin); } public static void main(String[] args) { // TODO Auto-generated method stub TString();//10000次 386秒 StringBuffer();//6毫秒保证线程安全!但是效率低 //----------------------------------------------------------------- StringBuilder();//3毫秒 }
}
String str="ABCDEFGH";//删除字符串中的G,用StringBuffer类中的deleteCharAt()方法 String rest=new StringBuffer(str).deleteCharAt(str.length()-2).toString(); System.out.println(rest);