Почему 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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