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);

 

 

 

posted @ 2017-04-02 19:00  *小嘻嘻*  阅读(1346)  评论(0编辑  收藏  举报