Какой самый быстрый способ скопировать строковую подстроку в StringBuilder? Я попытался:
builder.append(string.substring(start, end))
, но он использует две копии массива. builder.append(string, start, end)
, но он использует для l oop вместо копии массива
К сожалению StringBuilder#getValue
является частным пакетом, поэтому я не могу использовать его в String#getChars
. Кроме того, StringBuilder является окончательным, что означает, что я не могу изменить доступ getValue или добавить метод append(str, start, end)
, который будет использовать String#getChars
вместо for-l oop.
Я думаю, что что-то упустил , Я имею в виду, что не могу быть первым, кто хочет эту функцию.
Обновление:
Как заявил @Slaw, StringBuilder # append (CharSequence, int, int) был изменен использовать arraycopy вместо for-l oop где-то между 9 и 13. Я рад, что эта «проблема» была исправлена.