Лучше ли использовать String.format вместо конкатенации строк в Java?

О производительности:

public static void main(String[] args) throws Exception {      
  long start = System.currentTimeMillis();
  for(int i = 0; i < 1000000; i++){
    String s = "Hi " + i + "; Hi to you " + i*2;
  }
  long end = System.currentTimeMillis();
  System.out.println("Concatenation = " + ((end - start)) + " millisecond") ;

  start = System.currentTimeMillis();
  for(int i = 0; i < 1000000; i++){
    String s = String.format("Hi %s; Hi to you %s",i, + i*2);
  }
  end = System.currentTimeMillis();
  System.out.println("Format = " + ((end - start)) + " millisecond");
}

Результаты string-manipulation хронометража следующие:

  • Конкатенация = 265 миллисекунд
  • Format = 4141 миллисекунда

Следовательно, объединение concatenation выполняется намного быстрее, чем jdk String.format.

java

string

concatenation

string.format

2022-11-14T23:40:56+00:00
Вопросы с похожей тематикой, как у вопроса:

Лучше ли использовать String.format вместо конкатенации строк в Java?