16. Какая основная разница между String, StringBuffer, StringBuilder?

16. Какая основная разница между String, StringBuffer, StringBuilder?

UNKNOWN

Класс String является неизменяемым (immutable) - модифицировать объект такого класса нельзя, можно лишь заменить его созданием нового экземпляра.

Класс StringBuffer изменяемый - использовать StringBuffer следует тогда, когда необходимо часто модифицировать содержимое. Потокобезопасный. Синхронизированные методы работают медленнее не сихнронизированных.

Класс StringBuilder был добавлен в Java 5 и он во всем идентичен классу StringBuffer за исключением того, что он не синхронизирован и поэтому его методы выполняются значительно быстрей.

Класс StringJoiner используется, чтобы создать последовательность строк, разделенных разделителем с возможностью присоединить к полученной строке префикс и суффикс:

StringJoiner joiner = new StringJoiner(\".\", \"prefix-\", \"-suffix\");

for (String s : \"Hello the brave world\".split(\" \")) {

    joiner.add(s);

}

System.out.println(joiner); //prefix-Hello.the.brave.world-suffix


Предыдущий вопрос: 15. Можно ли использовать строки в конструкции switch?

Следующий вопрос: 17. Существуют ли в Java многомерные массивы?

Все вопросы по теме: список

Все темы: список

Вопросы/замечания/предложения/нашли ошибку: напишите мне

Report Page