String,StringBuffer,StringBuilder運行速度的比較

1.String 是final對象,不會被修改,每次使用 + 進行拼接都會創建新的對象,而不是改變原來的對象;

2.StringBuffer 可變字符串,主要用於字符串的拼接,屬於線程安全的;

3.StringBuilder 可變字符串,主要用於字符串的拼接,屬於線程不安全的;

可通過以下代碼來查看其運行速度:

/**
	 * StringBuilder拼接,線程不安全,速度最快(10000條記錄大概0毫秒)
	 */
	public static void getStringBuilderTime(){
		long start = System.currentTimeMillis();
		StringBuilder sb = new StringBuilder();
		for(int i = 0;i < 10000;i++){
			sb.append(i);
		}
		long end = System.currentTimeMillis();
		System.out.println(end - start);
	}
	
	/**
	 * StringBuffer拼接,線程安全,速度略快(10000條記錄大概16毫秒)
	 */
	public static void getStringBufferTime(){
		long start = System.currentTimeMillis();
		StringBuffer sb = new StringBuffer();
		for(int i = 0;i < 10000;i++){
			sb.append(i);
		}
		long end = System.currentTimeMillis();
		System.out.println(end - start);
	}
	
	/**
	 * String拼接,線程安全,速度最慢(10000條記錄大概265毫秒) 
	 */
	public static void getStringTime(){
		long start = System.currentTimeMillis();
		String sb = new String();
		for(int i = 0;i < 10000;i++){
			sb += i;
		}
		long end = System.currentTimeMillis();
		System.out.println(end - start);
	}


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