Строка против StringBuilder - PullRequest
       5

Строка против StringBuilder

0 голосов
/ 17 февраля 2020

Мне нужно изменить входную строку, чтобы вернуть какой-то вывод. В основном, когда я вижу конкретную строку, мне нужно ее удалить. Я думаю, стоит ли использовать StringBuilder против String. С моей точки зрения, String будет намного проще.

Предположим:

StringBuilder input = new StringBuilder(inputs)
if(inputs.contains("someword)"")) {
     // remove it by inputs = inputs.replace("someword", "");
}

Лучше использовать StringBuilder input = new StringBuilder(inputs) и удалить конкретную строку или использовать оригинальную inputs = inputs.replace(...).

Я думаю, что будет грязно использовать StringBuilder. StringBuilder используется для объединения, но я не концентрирую строки.

1 Ответ

0 голосов
/ 17 февраля 2020

В прошлом StringBuilder в большинстве случаев был намного быстрее, чем String, когда вы применяли несколько модификаций к String.

Но, начиная с JDK 6, сам компилятор заменяет String часто автоматически на StringBuilder (включая все связанные строки), когда это может улучшить производительность. Это становится видимым при использовании декомпилятора. Так что в большинстве случаев вы не заметите никакой разницы.

Если вы примените несколько операций к строке в более сложной структуре, чем простой пакет команд, то использование StringBuilder все же лучше, чем автомат c оптимизация компилятора.

...