Использование метода StringBuilder.insert
, например:
builder.insert(0, str)
, кажется разумным способом добавить экземпляр String
перед другой строкой, но после просмотра исходного кода метода insert
Я не уверен, является ли это эффективным способом сделать это, потому что метод вставки должен установить достаточную емкость и выполнить некоторое смещение:
public AbstractStringBuilder insert(int offset, String str) {
...
ensureCapacityInternal(count + len);
shift(offset, len);
...
}
, и оба зависят от использования System.arraycopy
.
Я написал класс StringCombiner
, который просто добавляет две строки:
public StringCombiner prepend(String pre){
this.string = pre + this.string;
return this;
}
После выполнения некоторых тестов производительности метод insert
все еще кажется намного более быстрым, поскольку создание новой строки кажется гораздо большее снижение производительности.
Поэтому я хотел бы знать, есть ли другой более эффективный способ добавить строку перед другой.
Thx.