Performance: Java's String.format [duplicate]

Możliwy duplikat:
Czy powinienem używać Java String.format (), jeśli wydajność jest ważna?

Zastanawiałem się, czy dobrze jest użyćString.format w aplikacjach Java zamiastStringBuilder... więc piszę prosty test, taki jak ten:

public static void main(String[] args) {
        int i = 0;
        Long start = System.currentTimeMillis();
        while (i < 10000) {
            String s = String.format("test %d", i);
            i++;
        }
        System.out.println(System.currentTimeMillis() - start);
        i = 0;
        start = System.currentTimeMillis();
        while (i < 10000) {
            String s = new StringBuilder().append("test ").append(i).toString();
            i++;
        }
        System.out.println(System.currentTimeMillis() - start);
    }

A wyniki gdzie:

238
15

Więc jeśli mój test jest ważny,StringBuilder jest szybszy niżString.format. DOBRZE. Teraz zaczynam myśleć jakString.format Prace. Czy jest to prosta konkatenacja ciągu"test " + i?

Jakie są różnice międzyStringBuilder konkatenacja iString.format? Czy istnieje prosty sposóbString.format i szybko jakStringBuilder?

questionAnswers(3)

yourAnswerToTheQuestion