Класс StringBuffer
Объекты класса
StringBuffer
— это строки переменной длины. Только что созданный объект имеет буфер определенной
емкости
(capacity), по умолчанию достаточной для хранения 16 символов. Емкость можно задать в конструкторе объекта.
Как только буфер начинает переполняться, его емкость автоматически увеличивается, чтобы вместить новые символы.
В любое время емкость буфера можно увеличить, обратившись к методу
ensureCapacity(int minCapacity)
Этот метод изменит емкость, только если
minCapacity
будет больше длины хранящейся в объекте строки. Емкость будет увеличена по следующему правилу. Пусть емкость буфера равна N. Тогда новая емкость будет равна
Мах(2 * N + 2, minCapacity)
Таким образом, емкость буфера нельзя увеличить менее чем вдвое.
Методом
setLength
(int newLength)
можно
установить любую длину строки.
Если она окажется больше текущей длины, то дополнительные символы будут равны '
\uOOOO'
. Если она будет меньше текущей длины, то строка будет обрезана, последние символы потеряются, точнее, будут заменены символом
'\uOOOO'
. Емкость при этом не изменится.
Если число
newLength
окажется отрицательным, возникнет исключительная ситуация.
Совет
Будьте осторожны, устанавливая новую длину объекта.
Количество символов в строке можно узнать, как и для объекта класса
String
, методом
length
()
, а емкость — методом
capacity ().
Создать объект класса stringBuf fer можно только конструкторами.