Я сталкивался с большим количеством кода Perl, который разбивает длинные строки следующим образом:
my $string = "Hi, I am a very long and chatty string that just won't";
$string .= " quit. I'm going to keep going, and going, and going,";
$string .= " kind of like the Energizer bunny. What are you going to";
$string .= " do about it?";
Судя по моему опыту работы с Java, построение такой строки было бы неэффективным. Верно ли то же самое с Perl? В своих поисках я прочитал, что использование join
в массиве строк — это самый быстрый способ конкатенации строк, но что делать, если вы просто хотите разбить строку для удобства чтения? Лучше написать:
my $string = "Hi, I am a very long and chatty string that just won't" .
" quit. I'm going to keep going, and going, and going," .
" kind of like the Energizer bunny. What are you going to" .
" do about it?";
Или мне использовать join
, или как это сделать?
myString += " more string information";
требует определенных накладных расходов, которых может не быть для строки, которую можно редактировать на месте. Если кто-то со временем создает строку в Java, обычно используетсяStringBuilder
или аналогичный. - person justkt   schedule 24.06.2010string1 + string2 + string3
точно эквивалентноnew StringBuilder( string1 ).append( string2 ).append( string3 ).toString()
. Компилятор Java используетStringBuilder
внутри для реализации конкатенации. Большинство версий компилятора также достаточно интеллектуальны, чтобы оптимизировать серию конкатенированных строковых литералов в один литерал. - person Sam Hanes   schedule 25.01.2012