Производительность: Java String.format [duplicate]
Possible Duplicate:
Should I use Java's String.format() if performance is important?
Мне было интересно, если это хорошо использоватьString.format
в приложениях Java вместоStringBuilder
... так что я просто пишу простой тест, например:
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);
}
И результаты, где:
238
15
Итак, если мой тест действителен,StringBuilder
быстрее чемString.format
, ХОРОШО.
Теперь я начинаю думать, какString.format
работает. Это простая последовательность строк, как"test " + i
?
Какие различия междуStringBuilder
конкатенация иString.format
? Есть ли способ, простой какString.format
и быстро, какStringBuilder
?