關於字符串連接

對採用+、concat、StringBuffer、StringBuilder的連接效率問題,做了一個簡單的測試

public class TestTime {
	public static void main(String[] args) {
		String s = "0";
		long startTime = System.currentTimeMillis();
		for ( int i = 0; i < 50000; i++) {
			s+="0";
		}
		long endTime = System.currentTimeMillis();
		System.out.println("'+'號連接測試(50000個'0'連接)");
		System.out.println((endTime - startTime)+"ms");
//---------------------------------------------------------------------------
		s = "0";
		startTime = System.currentTimeMillis();
		for ( int i = 0; i < 50000; i++) {
			s=s.concat("0");
		}
		endTime = System.currentTimeMillis();
		System.out.println("concat測試(50000個'0'連接)");
		System.out.println((endTime - startTime)+"ms");
//---------------------------------------------------------------------------
		StringBuffer sb = new StringBuffer("0");
		startTime = System.currentTimeMillis();
		for ( int i = 0; i < 5000000; i++) {
			sb.append("0");
		}
		endTime = System.currentTimeMillis();
		System.out.println("StringBuffer連接測試(5000000個'0'連接)");
		System.out.println((endTime - startTime)+"ms");
//---------------------------------------------------------------------------
		StringBuilder sb2 = new StringBuilder("0");
		startTime = System.currentTimeMillis();
		for ( int i = 0; i < 5000000; i++) {
			sb2.append("0");
		}
		endTime = System.currentTimeMillis();
		System.out.println("StringBuiler連接測試(5000000個'0'連接)");
		System.out.println((endTime - startTime)+"ms");
	}
}


發佈了28 篇原創文章 · 獲贊 6 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章