1. 程式人生 > >java 迴圈中String與StringBuilder效率探究

java 迴圈中String與StringBuilder效率探究

測試類:
public class StringTest {

    @Test
    public void testString() {

        String str = "";
        for (int i = 0; i < 3; i++) {
            str += i;
        }
        System.out.println(str);
    }

    @Test
    public void testStringBuilder() {
        StringBuilder builder = new StringBuilder();
        for (int i = 0; i < 3; i++) {
            builder.append(i);
        }
        System.out.println(builder.toString());
    }
}

通過javap -c StringTest得到位元組碼檔案如下:

通過編譯得到的位元組碼檔案可以看出來,testString()方法第5-32步為for迴圈,在迴圈中new StringBuilder進行拼接,這種效率肯定不如下面的testStringBuilder()方法先在迴圈外建立StringBuilder。