連接字串

在Java中,如何優化字串連接?

以下示例顯示了使用“+”運算符和StringBuffer.append()方法進行連接的性能。

package com.zaixian;

public class StringConcatenate {
    public static void main(String[] args) {
        long startTime = System.currentTimeMillis();

        for (int i = 0; i < 99999; i++) {
            String result = "This is" + "testing the" + "difference"
                    + "between" + "String" + "and" + "StringBuffer";
        }
        long endTime = System.currentTimeMillis();
        System.out.println("Time taken for string"
                + "concatenation using + operator : " + (endTime - startTime)
                + " ms");
        long startTime1 = System.currentTimeMillis();

        for (int i = 0; i < 99999; i++) {
            StringBuffer result = new StringBuffer();
            result.append("This is");
            result.append("testing the");
            result.append("difference");
            result.append("between");
            result.append("String");
            result.append("and");
            result.append("StringBuffer");
        }
        long endTime1 = System.currentTimeMillis();
        System.out.println("Time taken for String concatenation"
                + "using StringBuffer : " + (endTime1 - startTime1) + " ms");
    }
}

執行上面示例代碼,得到以下結果 -

Time taken for stringconcatenation using + operator : 0 ms
Time taken for String concatenationusing StringBuffer : 47 ms

上一篇: Java字串 下一篇: Java數組