Всякий раз, когда вы объединяете строку, на каждой конкатенации вы создаете новую копию строки, и обе строки копируются за один символ за раз. Это приводит к временной сложности O (n) (McDowell).
Если вы хотите улучшить производительность, используйте
StringBuilder
Один из конструкторов имеет следующий синтаксис: (. Изменяемую последовательность символов Помните строки immmutable)
public StringBuilder(int size); //Contains no character. Initial capacity of 'size'.
StringBuilder помогает решить эту проблему проблему, просто создав изменяемый массив из всех строк. копируя их обратно в строку только при необходимости (McDowell).
StringBuilder str = new StringBuilder(0);
str.append(someStr);
str.append(3);
str.append("]");
Ссылка:
Макдауэлл, Гейл Laakmann. Cracking The Coding Interview, 6-е издание. Распечатать.
"Stringbuilder (платформа Java SE 8)". Docs.oracle.com. N.p., 2016. Web. 4 июня 2016.
Оба не имеют никакого значения. – Smit
@Smit: компилятор будет использовать 'StringBuilder' для конкатенации строк. – jlordo
@Smit: использование StringBuilder приведет к тому же байт-коду, что и код в вопросе, или, что еще хуже. –