Назад к вопросам
Junior — Middle
68
Объясните внутреннюю структуру и механизм работы класса StringBuilder в Java.
Ответ от нейросети
sobes.tech AI
Класс StringBuilder в Java предназначен для эффективного построения и модификации строк без создания новых объектов при каждой операции, в отличие от String.
Внутренняя структура:
- StringBuilder содержит массив символов
char[] value, который хранит текущие символы. - Изначально массив имеет некоторый размер (например, 16 символов), который увеличивается по мере необходимости.
- Есть поле
int countилиint length, указывающее текущую длину строки в массиве.
Механизм работы:
- При добавлении символов или строк (например, методом
append) символы копируются в массивvalueначиная с позицииcount. - Если размер массива недостаточен, происходит расширение массива: создается новый массив большего размера (обычно в 2 раза больше), и старые символы копируются в него.
- Методы
toString()создают новый объект String на основе содержимого массиваvalue.
Пример:
StringBuilder sb = new StringBuilder();
sb.append("Hello");
sb.append(' ');
sb.append("World");
System.out.println(sb.toString()); // Выведет "Hello World"
Таким образом, StringBuilder оптимизирует операции со строками, уменьшая количество создаваемых объектов и повышая производительность при множественных изменениях строк.