Встречается на собеседованиях • сегодня

В чем разница между String, StringBuilder и StringBuffer

String — неизменяемый (immutable) класс, любая операция создает новый объект. Подходит для константных строк.
StringBuilder — изменяемый (mutable), работает быстрее StringBuffer, но не потокобезопасен. Используется для динамического построения строк в однопоточных приложениях.
StringBuffer — аналогичен StringBuilder, но синхронизирован (потокобезопасен), что делает его медленнее.

Пример:

java
String str = "Hello"; // Неизменяемый
str += " World"; // Создается новый объект

StringBuilder sb = new StringBuilder("Hello");
sb.append(" World"); // Изменяется существующий объект

StringBuffer sbf = new StringBuffer("Hello");
sbf.append(" World"); // Аналогично, но с синхронизацией

Выбор зависит от требований к производительности и потокобезопасности.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы