Junior — Middle
116
Explique la estructura interna y el mecanismo de funcionamiento de la clase StringBuilder en Java.
Respuesta de la IA
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 оптимизирует операции со строками, уменьшая количество создаваемых объектов и повышая производительность при множественных изменениях строк.