3.6.9(10) 構建字符串

一、構建字符串

  通常情況下我們構建字符串都是這個樣子的:

String str = "測試";

  如果我們進行字符串的拼接,是這個樣子的:

String str2 = str+"哈哈";

二、問題說明

  我們這樣進行字符串的拼接完全沒有任何問題,方便快捷,但是這裏就有一個考慮,如果這樣拼接的次數和量比較大的話,就回非常的影響程序的運行效率,因爲每次進行拼接的時候都會創建一個String的對象。

三、解決

  在jdk5.0中引入了StringBuilder類,這個類的前身是StringBuffer,我們可以使用StringBuilder的append方法進行字符串的拼接,這樣拼接出來的效率要高於+拼接(尤其是拼接量比較大的時候)。

    /**
     * Description :字符串的拼接效率測試
     * @param
     * @return
     * @exception
     * @author     :loulan
     * */
    @Test
    public void builderString() {
        // +拼接開始時間
        long time1 = System.currentTimeMillis();

        String strj = "開始:";
        for (int i = 0; i < 10000; i++) {
            strj += i;
        }
        // +拼接結束時間,同時是StringBuilder拼接開始時間
        long time2 = System.currentTimeMillis();

        StringBuilder sb = new StringBuilder("開始:");
        for (int i = 0; i < 10000; i++) {
            sb.append(i);
        }

        // StringBuilder結束時間
        long time3 = System.currentTimeMillis();

        System.out.println("兩種拼接方式出來的字符串是否相同: " + strj.equals(sb.toString())); // true
        System.out.println("+方式拼接完成執行時間:"+(time2-time1)+"ms");                     // 329ms (個人電腦cpu不同,結果不同)
        System.out.println("StringBuilder方式拼接完成執行時間:"+(time3-time2)+"ms");         // 1ms
    }

  所以大量的拼接的時候請使用StringBuiler

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章