Performance: String.format do Java [duplicado]

Duplicata Possível:
Devo usar String.format () do Java se o desempenho é importante?

Eu queria saber se é bom usarString.format em aplicativos Java em vez deStringBuilder... então, eu apenas escrevo um teste simples, como este:

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);
    }

E os resultados onde:

238
15

Então, se meu teste é válido,StringBuilder é mais rápido queString.format. ESTÁ BEM. Agora começo a pensar em comoString.format trabalho. É uma simples concatenação de String, como"test " + i?

Quais as diferenças entreStringBuilder concatenação eString.format? Existe uma maneira simples comoString.format e rápido comoStringBuilder?

questionAnswers(3)

yourAnswerToTheQuestion