Иллюстрированный самоучитель по Java

         

Класс StringBuffer


Объекты класса

StringBuffer

— это строки переменной длины. Только что созданный объект имеет буфер определенной

емкости

(capacity), по умолчанию достаточной для хранения 16 символов. Емкость можно задать в конструкторе объекта.

Как только буфер начинает переполняться, его емкость автоматически увеличивается, чтобы вместить новые символы.

В любое время емкость буфера можно увеличить, обратившись к методу

ensureCapacity(int minCapacity)

Этот метод изменит емкость, только если

minCapacity

будет больше длины хранящейся в объекте строки. Емкость будет увеличена по следующему правилу. Пусть емкость буфера равна N. Тогда новая емкость будет равна

Мах(2 * N + 2, minCapacity)

Таким образом, емкость буфера нельзя увеличить менее чем вдвое.

Методом

setLength

(int newLength)



можно

установить любую длину строки.

Если она окажется больше текущей длины, то дополнительные символы будут равны '

\uOOOO'

. Если она будет меньше текущей длины, то строка будет обрезана, последние символы потеряются, точнее, будут заменены символом

'\uOOOO'

. Емкость при этом не изменится.

Если число

newLength

окажется отрицательным, возникнет исключительная ситуация.

Совет

Будьте осторожны, устанавливая новую длину объекта.

Количество символов в строке можно узнать, как и для объекта класса

String

, методом

length

()

, а емкость — методом

capacity ().

Создать объект класса stringBuf fer можно только конструкторами.



Содержание раздела