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