Почему StringBuilder быстрее при работе с двумя строкамиJAVA

Программисты JAVA общаются здесь
Anonymous
Почему StringBuilder быстрее при работе с двумя строками

Сообщение Anonymous »

Я тестировал конкатенацию строк и знаю, как работает StringBuilde, если у нас много строк, но он оказывается быстрее даже при работе с двумя. Я хочу подумать, почему, ведь StringBuilde и + сделали то же самое с
двумя строками.

Код: Выделить всё

       String str = "StringOne";
String str1 = "StringTwo";
String result ;

long startTime = System.nanoTime();
StringBuilder strBuilder = new java.lang.StringBuilder();   // he also faster but create instance

strBuilder.append(str);
strBuilder.append(str1);
result = strBuilder.toString();
strBuilder.setLength(0);  //and setLegth

long endTime = System.nanoTime();
System.out.println("Time Builder: " + ((endTime - startTime) ));

long startTime1 = System.nanoTime();
result = str+str1;
long endTime2 = System.nanoTime();
System.out.println("Time +        " + ((endTime2 - startTime1) ));
А почему Builder каждый раз быстрее?
Если это так, то имеет смысл заменить любой + на добавление

Подробнее здесь: https://stackoverflow.com/questions/790 ... wo-strings

Вернуться в «JAVA»