Spec-Zone.ru › OpenJDK 21

Класс StringBuffer

java.lang.Object
java.lang.StringBuffer
Все реализованные интерфейсы:
Serializable, Appendable, CharSequence, Comparable<StringBuffer>
public final class StringBuffer extends Object implements Appendable, Serializable, Comparable<StringBuffer>, CharSequence
Потокобезопасная, изменяемая последовательность символов. Буфер строк похож на String, но может быть изменён. В любой момент времени он содержит определённую последовательность символов, но длина и содержимое последовательности могут быть изменены путём вызова определённых методов.

Буферы строк безопасны для использования в нескольких потоках. Методы синхронизированы при необходимости, так что все операции с конкретным экземпляром ведут себя так, как будто они происходят в определённом последовательном порядке, согласованном с порядком вызовов методов каждым из участвующих потоков.

Основные операции с StringBuffer — это методы append и insert, которые перегружены для приема данных любого типа. Каждый из них фактически преобразует заданное значение в строку, а затем добавляет или вставляет символы этой строки в буфер строк. Метод append всегда добавляет эти символы в конец буфера; метод insert добавляет символы в указанную точку.

Например, если z ссылается на объект буфера строк, текущее содержимое которого — "start", то вызов метода z.append("le") приведет к тому, что буфер строк будет содержать "startle", в то время как z.insert(4, "le") изменит буфер строк так, что он будет содержать "starlet".

В общем случае, если sb ссылается на экземпляр StringBuffer, то sb.append(x) имеет тот же эффект, что и sb.insert(sb.length(), x).

Всякий раз, когда выполняется операция, включающая исходную последовательность (например, добавление или вставка из исходной последовательности), этот класс синхронизируется только с буфером строк, выполняющим операцию, а не с источником. Обратите внимание, что, хотя StringBuffer предназначен для безопасного одновременного использования из нескольких потоков, если конструктору или операции append или insert передаётся исходная последовательность, которая является общей для потоков, код вызывающего метода должен гарантировать, что операция имеет согласованный и неизменяемый вид исходной последовательности на протяжении всей операции. Это может быть выполнено вызывающим методом путем удержания блокировки во время вызова операции, путем использования неизменяемой исходной последовательности или путем отсутствия общего доступа к исходной последовательности между потоками.

Каждый буфер строк имеет ёмкость. Пока длина последовательности символов, содержащихся в буфере строк, не превышает ёмкость, нет необходимости выделять новый массив внутреннего буфера. Если внутренний буфер переполняется, он автоматически увеличивается.

Если не указано иное, передача null аргумента конструктору или методу в этом классе вызовет NullPointerException.

С выпуска JDK 5 этот класс был дополнен эквивалентным классом, предназначенным для использования одним потоком, StringBuilder. Класс StringBuilder обычно следует использовать вместо этого, так как он поддерживает все те же операции, но работает быстрее, так как не выполняет синхронизацию.

Прим. API:
StringBuffer реализует Comparable, но не переопределяет equals. Таким образом, естественный порядок сортировки StringBuffer не согласован с equals. Следует проявлять осторожность, если объекты StringBuffer используются в качестве ключей в SortedMap или элементов в SortedSet. См. Comparable, SortedMap или SortedSet для получения дополнительной информации.
С тех пор:
1.0
См. также:
  • StringBuilder
  • String
  • Сериализованная форма

Краткое описание конструкторов

Конструктор Описание
StringBuffer()
Создаёт буфер строк без символов и начальной ёмкостью 16 символов.
StringBuffer(int capacity)
Создаёт буфер строк без символов и заданной начальной ёмкостью.
StringBuffer(CharSequence seq)
Создаёт буфер строк, содержащий те же символы, что и указанный CharSequence.
StringBuffer(String str)
Создаёт буфер строк, инициализированный содержимым указанной строки.

Краткое описание методов

Модификатор и тип Метод Описание
StringBuffer append(boolean b)
Добавляет строковое представление аргумента boolean в последовательность.
StringBuffer append(char c)
Добавляет строковое представление аргумента char в эту последовательность.
StringBuffer append(char[] str)
Добавляет строковое представление аргумента массива char в эту последовательность.
StringBuffer append(char[] str, int offset, int len)
Добавляет строковое представление подмассива аргумента массива char в эту последовательность.
StringBuffer append(double d)
Добавляет строковое представление аргумента double в эту последовательность.
StringBuffer append(float f)
Добавляет строковое представление аргумента float в эту последовательность.
StringBuffer append(int i)
Добавляет строковое представление аргумента int в эту последовательность.
StringBuffer append(long lng)
Добавляет строковое представление аргумента long в эту последовательность.
StringBuffer append(CharSequence s)
Добавляет указанный CharSequence в эту последовательность.
StringBuffer append(CharSequence s, int start, int end)
Добавляет подпоследовательность указанного CharSequence в эту последовательность.
StringBuffer append(Object obj)
Добавляет строковое представление аргумента Object.
StringBuffer append(String str)
Добавляет указанную строку в эту последовательность символов.
StringBuffer append(StringBuffer sb)
Добавляет указанный StringBuffer в эту последовательность.
StringBuffer appendCodePoint(int codePoint)
Добавляет строковое представление аргумента codePoint в эту последовательность.
int capacity()
Возвращает текущую емкость.
char charAt(int index)
Возвращает значение char в этой последовательности по указанному индексу.
IntStream chars()
Возвращает поток int, расширяющий значения char из этой последовательности с добавлением нулей.
int codePointAt(int index)
Возвращает символ (код точки Unicode) по указанному индексу.
int codePointBefore(int index)
Возвращает символ (код точки Unicode) перед указанным индексом.
int codePointCount(int beginIndex, int endIndex)
Возвращает количество кодовых точек Unicode в указанном диапазоне текста этой последовательности.
IntStream codePoints()
Возвращает поток значений кодовых точек из этой последовательности.
int compareTo(StringBuffer another)
Сравнивает два экземпляра StringBuffer лексикографически.
StringBuffer delete(int start, int end)
Удаляет символы в подстроке этой последовательности.
StringBuffer deleteCharAt(int index)
Удаляет char в указанной позиции в этой последовательности.
void ensureCapacity(int minimumCapacity)
Обеспечивает, чтобы емкость была по крайней мере равна указанному минимуму.
void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)
Символы копируются из этой последовательности в целевой массив символов dst.
int indexOf(String str)
Возвращает индекс в этой строке первого вхождения указанной подстроки.
int indexOf(String str, int fromIndex)
Возвращает индекс в этой строке первого вхождения указанной подстроки, начиная с указанного индекса.
StringBuffer insert(int offset, boolean b)
Вставляет строковое представление аргумента boolean в эту последовательность.
StringBuffer insert(int offset, char c)
Вставляет строковое представление аргумента char в эту последовательность.
StringBuffer insert(int offset, char[] str)
Вставляет строковое представление аргумента массива char в эту последовательность.
StringBuffer insert(int index, char[] str, int offset, int len)
Вставляет строковое представление подмассива аргумента массива str в эту последовательность.
StringBuffer insert(int offset, double d)
Вставляет строковое представление аргумента double в эту последовательность.
StringBuffer insert(int offset, float f)
Вставляет строковое представление аргумента float в эту последовательность.
StringBuffer insert(int offset, int i)
Вставляет строковое представление второго аргумента int в эту последовательность.
StringBuffer insert(int offset, long l)
Вставляет строковое представление аргумента long в эту последовательность.
StringBuffer insert(int dstOffset, CharSequence s)
Вставляет указанный CharSequence в эту последовательность.
StringBuffer insert(int dstOffset, CharSequence s, int start, int end)
Вставляет подпоследовательность указанного CharSequence в эту последовательность.
StringBuffer insert(int offset, Object obj)
Вставляет строковое представление аргумента Object в эту последовательность символов.
StringBuffer insert(int offset, String str)
Вставляет строку в эту последовательность символов.
int lastIndexOf(String str)
Возвращает индекс в этой строке последнего вхождения указанной подстроки.
int lastIndexOf(String str, int fromIndex)
Возвращает индекс в этой строке последнего вхождения указанной подстроки, выполняя поиск назад, начиная с указанного индекса.
int length()
Возвращает длину (количество символов).
int offsetByCodePoints(int index, int codePointOffset)
Возвращает индекс в этой последовательности, который смещен от заданного index на codePointOffset кодовых точек.
StringBuffer repeat(int codePoint, int count)
Повторяет count копий строкового представления аргумента codePoint в этой последовательности.
StringBuffer repeat(CharSequence cs, int count)
Добавляет count копий указанного CharSequence cs в эту последовательность.
StringBuffer replace(int start, int end, String str)
Заменяет символы в подстроке этой последовательности символами в указанном String.
StringBuffer reverse()
Заставляет эту последовательность символов быть заменена обратной последовательностью.
void setCharAt(int index, char ch)
Символ по указанному индексу устанавливается в ch.
void setLength(int newLength)
Устанавливает длину последовательности символов.
CharSequence subSequence(int start, int end)
Возвращает новую последовательность символов, которая является подпоследовательностью этой последовательности.
String substring(int start)
Возвращает новый String, который содержит подпоследовательность символов, в настоящее время содержащихся в этой последовательности символов.
String substring(int start, int end)
Возвращает новый String, который содержит подпоследовательность символов, в настоящее время содержащихся в этой последовательности.
String toString()
Возвращает строку, представляющую данные в этой последовательности.
void trimToSize()
Пытается уменьшить объем памяти, используемый для последовательности символов.

Методы, объявленные в классе java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

Методы, объявленные в интерфейсе java.lang.CharSequence

chars, codePoints, isEmpty

Подробное описание конструкторов

StringBuffer

public StringBuffer()
Создаёт буфер строки без символов и начальной ёмкостью в 16 символов.

StringBuffer

public StringBuffer(int capacity)
Создаёт буфер строки без символов и указанной начальной ёмкостью.
Параметры:
capacity - начальная ёмкость.
Исключения:
NegativeArraySizeException - если аргумент capacity меньше 0.

StringBuffer

public StringBuffer(String str)
Создаёт буфер строки, инициализированный содержимым указанной строки. Начальная ёмкость буфера строки равна 16 плюс длина аргумента строки.
Параметры:
str - начальное содержимое буфера.

StringBuffer

public StringBuffer(CharSequence seq)
Создаёт буфер строки, содержащий те же символы, что и указанная последовательность CharSequence. Начальная ёмкость буфера строки равна 16 плюс длина аргумента CharSequence.
Параметры:
seq - последовательность для копирования.
С:
1.5

Подробное описание методов

compareTo

public int compareTo(StringBuffer another)
Сравнивает два экземпляра StringBuffer лексикографически. Этот метод следует тем же правилам лексикографического сравнения, что и метод CharSequence.compare(this, another).

Для более тонкого, чувствительного к локали сравнения строк, см. Collator.

Определено в:
compareTo в интерфейсе Comparable<StringBuffer>
Примечание реализации:
Этот метод синхронизируется на this, текущий объект, но не на StringBuffer another, с которым сравнивается this StringBuffer.
Параметры:
another - StringBuffer для сравнения
Возвращает:
значение 0, если этот StringBuffer содержит ту же последовательность символов, что и аргумент StringBuffer; отрицательное целое число, если этот StringBuffer лексикографически меньше, чем аргумент StringBuffer; или положительное целое число, если этот StringBuffer лексикографически больше, чем аргумент StringBuffer.
С:
11

length

public int length()
Возвращает длину (количество символов).
Определено в:
length в интерфейсе CharSequence
Возвращает:
длина последовательности символов, в настоящее время представленных этим объектом

capacity

public int capacity()
Возвращает текущую ёмкость. Ёмкость — это количество символов, которые могут быть сохранены (включая уже записанные символы), после чего произойдёт выделение памяти.
Возвращает:
текущую ёмкость

ensureCapacity

public void ensureCapacity(int minimumCapacity)
Обеспечивает, что ёмкость не меньше указанного минимума. Если текущая ёмкость меньше аргумента, то выделяется новый внутренний массив с большей ёмкостью. Новая ёмкость — это максимальное из:
  • Аргумент.
  • Удвоенная старая ёмкость плюс 2.
Если аргумент minimumCapacity не положителен, этот метод ничего не делает и просто возвращает. Обратите внимание, что последующие операции с этим объектом могут уменьшить фактическую ёмкость ниже запрошенной здесь.
Параметры:
minimumCapacity - минимальная желаемая ёмкость.

trimToSize

public void trimToSize()
Попытка уменьшить используемое хранилище для последовательности символов. Если буфер больше, чем необходимо для хранения его текущей последовательности символов, то он может быть изменён, чтобы стать более эффективным с точки зрения использования памяти. Вызов этого метода может, но не обязан, повлиять на значение, возвращаемое последующим вызовом метода capacity().
С:
1.5

setLength

public void setLength(int newLength)
Устанавливает длину последовательности символов. Последовательность изменяется на новую последовательность символов, длина которой задаётся аргументом. Для каждого неотрицательного индекса k, меньшего newLength, символ в индексе k в новой последовательности символов такой же, как символ в индексе k в старой последовательности, если k меньше длины старой последовательности символов; в противном случае это нулевой символ '\u0000'. Другими словами, если аргумент newLength меньше текущей длины, длина изменяется на указанную длину.

Если аргумент newLength больше или равен текущей длине, добавляется достаточно нулевых символов ('\u0000'), чтобы длина стала аргументом newLength.

Аргумент newLength должен быть больше или равен 0.

Параметры:
newLength - новая длина
Исключения:
IndexOutOfBoundsException - если аргумент newLength отрицателен.
См. также:
  • length()

charAt

public char charAt(int index)
Возвращает значение char в этой последовательности по указанному индексу. Первый char находится в индексе 0, следующий в индексе 1 и так далее, как в индексации массива.

Аргумент индекса должен быть больше или равен 0 и меньше длины этой последовательности.

Если значение char, указанное индексом, является суррогатом, возвращается значение суррогата.

Определено в:
charAt в интерфейсе CharSequence
Параметры:
index - индекс требуемого значения char.
Возвращает:
значение char по указанному индексу.
Исключения:
IndexOutOfBoundsException - если index отрицателен или больше или равен length().
См. также:
  • length()

codePointAt

public int codePointAt(int index)
Возвращает символ (кодовую точку Юникода) по указанному индексу. Индекс относится к значениям char (единицам Юникода) и изменяется от 0 до CharSequence.length() - 1.

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

Параметры:
index - индекс к значениям char
Возвращает:
значение кодовой точки символа в указанном index
Исключения:
IndexOutOfBoundsException - если аргумент index отрицателен или не меньше длины этой последовательности.
С:
1.5

codePointBefore

public int codePointBefore(int index)
Возвращает символ (кодовую точку Юникода) перед заданным индексом. Индекс относится к значениям char (единицам Юникода) и изменяется от 1 до CharSequence.length().

Если значение char в (index - 1) находится в диапазоне низких суррогатов, (index - 2) не отрицательно, и значение char в (index - 2) находится в диапазоне высоких суррогатов, возвращается дополнительное значение кодовой точки пары суррогатов. Если значение char в index - 1 является неспаренным низким суррогатом или высоким суррогатом, возвращается значение суррогата.

Параметры:
index - индекс, следующий за кодовой точкой, которая должна быть возвращена
Возвращает:
значение кодовой точки Юникода перед заданным индексом.
Исключения:
IndexOutOfBoundsException - если аргумент index меньше 1 или больше длины этой последовательности.
С:
1.5

codePointCount

public int codePointCount(int beginIndex, int endIndex)
Возвращает количество кодовых точек Юникода в заданном диапазоне текста этой последовательности. Диапазон текста начинается по указанному beginIndex и заканчивается в char в индексе endIndex - 1. Таким образом, длина (в char) диапазона текста равна endIndex-beginIndex. Неспаренные суррогаты в этой последовательности учитываются как по одной кодовой точке каждый.
Параметры:
beginIndex - индекс к первому char диапазона текста.
endIndex - индекс после последнего char диапазона текста.
Возвращает:
количество кодовых точек Юникода в заданном диапазоне текста
Исключения:
IndexOutOfBoundsException - если beginIndex отрицателен, или endIndex больше длины этой последовательности, или beginIndex больше endIndex.
С:
1.5

offsetByCodePoints

public int offsetByCodePoints(int index, int codePointOffset)
Возвращает индекс в этой последовательности, смещённый от заданного index на codePointOffset символов. Неспаренные суррогаты в текстовом диапазоне, заданном index и codePointOffset, считаются по одному символу.
Parameters:
index - индекс, который нужно сместить
codePointOffset - смещение в кодовых точках
Returns:
индекс в этой последовательности
Throws:
IndexOutOfBoundsException - если index отрицательный или больше длины этой последовательности, или если codePointOffset положительный и подпоследовательность, начинающаяся с index, имеет меньше чем codePointOffset кодовых точек, или если codePointOffset отрицательный и подпоследовательность перед index имеет меньше чем абсолютное значение codePointOffset кодовых точек.
Since:
1.5

getChars

public void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)
Символы копируются из этой последовательности в целевой массив символов dst. Первый копируемый символ находится по индексу srcBegin; последний копируемый символ — по индексу srcEnd-1. Общее количество копируемых символов — srcEnd-srcBegin. Символы копируются в подмассив dst, начиная с индекса dstBegin и заканчивая индексом:

 dstbegin + (srcEnd-srcBegin) - 1
 
Parameters:
srcBegin - начинать копирование с этого смещения.
srcEnd - остановить копирование по этому смещению.
dst - массив для копирования данных.
dstBegin - смещение в dst.
Throws:
IndexOutOfBoundsException - если выполняется хотя бы одно из следующих условий:
  • srcBegin отрицательный
  • dstBegin отрицательный
  • аргумент srcBegin больше аргумента srcEnd.
  • srcEnd больше this.length().
  • dstBegin+srcEnd-srcBegin больше dst.length

setCharAt

public void setCharAt(int index, char ch)
Символ по указанному индексу устанавливается в ch. Эта последовательность изменяется, чтобы представить новую последовательность символов, идентичную старой, за исключением того, что она содержит символ ch в позиции index.

Аргумент индекса должен быть больше или равен 0 и меньше длины этой последовательности.

Parameters:
index - индекс символа для изменения.
ch - новый символ.
Throws:
IndexOutOfBoundsException - если index отрицательный или больше или равен length().
See Also:
  • length()

append

public StringBuffer append(Object obj)
Добавляет строковое представление аргумента Object.

Общий эффект точно такой же, как если бы аргумент был преобразован в строку методом String.valueOf(Object), а символы этой строки затем appended в эту последовательность символов.

Parameters:
obj - объект Object.
Returns:
ссылка на этот объект.

append

public StringBuffer append(String str)
Добавляет указанную строку к этой последовательности символов.

Символы аргумента String добавляются в порядке возрастания, увеличивая длину этой последовательности на длину аргумента. Если str равно null, то добавляются четыре символа "null".

Пусть n — длина этой последовательности символов непосредственно перед выполнением метода append. Тогда символ по индексу k в новой последовательности символов равен символу по индексу k в старой последовательности, если k меньше n; в противном случае он равен символу по индексу k-n в аргументе str.

Parameters:
str - строка.
Returns:
ссылка на этот объект.

append

public StringBuffer append(StringBuffer sb)
Добавляет указанную StringBuffer к этой последовательности.

Символы аргумента StringBuffer добавляются в порядке возрастания к содержимому этой последовательности, увеличивая длину этой последовательности на длину аргумента. Если sb равно null, то к этой последовательности добавляются четыре символа "null".

Пусть n — длина старой последовательности символов, содержащейся в StringBuffer непосредственно перед выполнением метода append. Тогда символ по индексу k в новой последовательности символов равен символу по индексу k в старой последовательности, если k меньше n; в противном случае он равен символу по индексу k-n в аргументе sb.

Этот метод синхронизируется по this, целевому объекту, но не синхронизируется по источнику (sb).

Parameters:
sb - добавляемая StringBuffer.
Returns:
ссылка на этот объект.
Since:
1.4

append

public StringBuffer append(CharSequence s)
Добавляет указанную CharSequence к этой последовательности.

Символы аргумента CharSequence добавляются в порядке возрастания, увеличивая длину этой последовательности на длину аргумента.

Результат этого метода точно такой же, как если бы он был вызовом this.append(s, 0, s.length());

Этот метод синхронизируется по this, целевому объекту, но не синхронизируется по источнику (s).

Если s равно null, то добавляются четыре символа "null".

Specified by:
append в интерфейсе Appendable
Parameters:
s - добавляемая CharSequence.
Returns:
ссылка на этот объект.
Since:
1.5

append

public StringBuffer append(CharSequence s, int start, int end)
Добавляет подпоследовательность указанной CharSequence к этой последовательности.

Символы аргумента s, начиная с индекса start, добавляются в порядке возрастания к содержимому этой последовательности до (исключительно) индекса end. Длина этой последовательности увеличивается на значение end - start.

Пусть n — длина этой последовательности символов непосредственно перед выполнением метода append. Тогда символ по индексу k в этой последовательности символов становится равным символу по индексу k в этой последовательности, если k меньше n; в противном случае он равен символу по индексу k+start-n в аргументе s.

Если s равно null, то этот метод добавляет символы, как если бы параметр s был последовательностью, содержащей четыре символа "null".

Specified by:
append в интерфейсе Appendable
Parameters:
s - добавляемая последовательность.
start - начальный индекс подпоследовательности для добавления.
end - конечный индекс подпоследовательности для добавления.
Returns:
ссылка на этот объект.
Throws:
IndexOutOfBoundsException - если start отрицательный, или start больше end или end больше s.length()
Since:
1.5

append

public StringBuffer append(char[] str)
Добавляет строковое представление аргумента-массива char к этой последовательности.

Символы аргумента-массива добавляются в порядке возрастания к содержимому этой последовательности. Длина этой последовательности увеличивается на длину аргумента.

Общий эффект точно такой же, как если бы аргумент был преобразован в строку методом String.valueOf(char[]), а символы этой строки затем appended в эту последовательность символов.

Parameters:
str - добавляемые символы.
Returns:
ссылка на этот объект.

append

public StringBuffer append(char[] str, int offset, int len)
Добавляет строковое представление подмассива аргумента-массива char к этой последовательности.

Символы подмассива char массива str, начиная с индекса offset, добавляются в порядке возрастания к содержимому этой последовательности. Длина этой последовательности увеличивается на значение len.

Общий эффект точно такой же, как если бы аргументы были преобразованны в строку методом String.valueOf(char[],int,int), а символы этой строки затем appended к этой последовательности символов.

Parameters:
str - добавляемые символы.
offset - индекс первого символа для добавления.
len - количество добавляемых символов.
Returns:
ссылка на этот объект.
Throws:
IndexOutOfBoundsException - если offset < 0 или len < 0 или offset+len > str.length

append

public StringBuffer append(boolean b)
Добавляет строковое представление аргумента boolean в последовательность.

Общий эффект эквивалентен тому, как будто аргумент был преобразован в строку методом String.valueOf(boolean), а затем символы этой строки были добавлены к этой последовательности символов с помощью метода appended.

Parameters:
b - a boolean.
Returns:
ссылка на этот объект.

append

public StringBuffer append(char c)
Добавляет строковое представление аргумента char в эту последовательность.

Аргумент добавляется к содержимому этой последовательности. Длина этой последовательности увеличивается на 1.

Общий эффект эквивалентен тому, как будто аргумент был преобразован в строку методом String.valueOf(char), а затем символ из этой строки был добавлен к этой последовательности символов с помощью метода appended.

Specified by:
append в интерфейсе Appendable
Parameters:
c - a char.
Returns:
ссылка на этот объект.

append

public StringBuffer append(int i)
Добавляет строковое представление аргумента int в эту последовательность.

Общий эффект эквивалентен тому, как будто аргумент был преобразован в строку методом String.valueOf(int), а затем символы этой строки были добавлены к этой последовательности символов с помощью метода appended.

Parameters:
i - an int.
Returns:
ссылка на этот объект.

appendCodePoint

public StringBuffer appendCodePoint(int codePoint)
Добавляет строковое представление аргумента codePoint в эту последовательность.

Аргумент добавляется к содержимому этой последовательности. Длина этой последовательности увеличивается на Character.charCount(codePoint).

Общий эффект эквивалентен тому, как будто аргумент был преобразован в массив символов методом Character.toChars(int) и затем символы этого массива были добавлены к этой последовательности символов с помощью метода appended.

Parameters:
codePoint - код Юникода
Returns:
ссылка на этот объект.
Since:
1.5

append

public StringBuffer append(long lng)
Добавляет строковое представление аргумента long в эту последовательность.

Общий эффект эквивалентен тому, как будто аргумент был преобразован в строку методом String.valueOf(long), а затем символы этой строки были добавлены к этой последовательности символов с помощью метода appended.

Parameters:
lng - a long.
Returns:
ссылка на этот объект.

append

public StringBuffer append(float f)
Добавляет строковое представление аргумента float в эту последовательность.

Общий эффект эквивалентен тому, как будто аргумент был преобразован в строку методом String.valueOf(float), а затем символы этой строки были добавлены к этой последовательности символов с помощью метода appended.

Parameters:
f - a float.
Returns:
ссылка на этот объект.

append

public StringBuffer append(double d)
Добавляет строковое представление аргумента double в эту последовательность.

Общий эффект эквивалентен тому, как будто аргумент был преобразован в строку методом String.valueOf(double), а затем символы этой строки были добавлены к этой последовательности символов с помощью метода appended.

Parameters:
d - a double.
Returns:
ссылка на этот объект.

delete

public StringBuffer delete(int start, int end)
Удаляет символы в подстроке этой последовательности. Подстрока начинается с указанного start и простирается до символа с индексом end - 1 или до конца последовательности, если такого символа не существует. Если start равно end, никаких изменений не происходит.
Parameters:
start - Начальный индекс, включительно.
end - Конечный индекс, исключая.
Returns:
Этот объект.
Throws:
StringIndexOutOfBoundsException - если start отрицательно, больше length(), или больше end.
Since:
1.2

deleteCharAt

public StringBuffer deleteCharAt(int index)
Удаляет символ по указанному индексу в этой последовательности. Длина этой последовательности уменьшается на один символ.

Примечание: Если символ по заданному индексу является дополнительным символом, этот метод не удаляет весь символ. Если требуется правильная обработка дополнительных символов, определите количество символов для удаления, вызвав метод Character.charCount(thisSequence.codePointAt(index)), где thisSequence - эта последовательность.

Parameters:
index - Индекс символа для удаления
Returns:
Этот объект.
Throws:
StringIndexOutOfBoundsException - если index отрицательно или больше или равно length().
Since:
1.2

replace

public StringBuffer replace(int start, int end, String str)
Заменяет символы в подстроке этой последовательности символами из указанной String. Подстрока начинается с указанного start и простирается до символа с индексом end - 1 или до конца последовательности, если такого символа не существует. Сначала символы в подстроке удаляются, а затем указанная String вставляется по индексу start. (Если необходимо, длина этой последовательности будет увеличена для размещения указанной строки.)
Parameters:
start - Начальный индекс, включительно.
end - Конечный индекс, исключая.
str - Строка, которая заменит предыдущее содержимое.
Returns:
Этот объект.
Throws:
StringIndexOutOfBoundsException - если start отрицательно, больше length(), или больше end.
Since:
1.2

substring

public String substring(int start)
Возвращает новую String, содержащую подпоследовательность символов, которые в данный момент содержатся в этой последовательности символов. Подстрока начинается с указанного индекса и простирается до конца этой последовательности.
Parameters:
start - Начальный индекс, включительно.
Returns:
Новая строка.
Throws:
StringIndexOutOfBoundsException - если start меньше нуля или больше длины этого объекта.
Since:
1.2

subSequence

public CharSequence subSequence(int start, int end)
Возвращает новую последовательность символов, которая является подпоследовательностью этой последовательности.

Вызов этого метода в форме


 sb.subSequence(begin, end)
ведет себя точно так же, как вызов

 sb.substring(begin, end)
. Этот метод предоставлен для реализации интерфейса CharSequence в этом классе.
Specified by:
subSequence в интерфейсе CharSequence
Parameters:
start - начальный индекс, включительно.
end - конечный индекс, исключая.
Returns:
указанная подпоследовательность.
Throws:
IndexOutOfBoundsException - если start или end отрицательные, если end больше length(), или если start больше end
Since:
1.4

substring

public String substring(int start, int end)
Возвращает новую String, содержащую подпоследовательность символов, которые в данный момент содержатся в этой последовательности. Подстрока начинается с указанного start и простирается до символа с индексом end - 1.
Parameters:
start - Начальный индекс, включительно.
end - Конечный индекс, исключая.
Returns:
Новая строка.
Throws:
StringIndexOutOfBoundsException - если start или end отрицательные или больше length(), или start больше end.
Since:
1.2

вставка

public StringBuffer insert(int index, char[] str, int offset, int len)
Вставляет строковое представление подмассива аргумента str в эту последовательность. Подмассив начинается с указанного offset и простирается len char. Символы подмассива вставляются в эту последовательность в позиции, указанной index. Длина этой последовательности увеличивается на len char.
Параметры:
index - позиция для вставки подмассива.
str - массив char.
offset - индекс первого char в подмассиве для вставки.
len - количество char в подмассиве для вставки.
Возвращает:
Этот объект
Исключения:
StringIndexOutOfBoundsException - если index отрицательно или больше length(), или offset или len отрицательны, или (offset+len) больше str.length.
С:
1.2

вставка

public StringBuffer insert(int offset, Object obj)
Вставляет строковое представление аргумента Object в эту последовательность символов.

Общий эффект такой же, как если бы второй аргумент был преобразован в строку методом String.valueOf(Object), а символы этой строки затем inserted в эту последовательность символов в указанном смещении.

Аргумент offset должен быть больше или равен 0 и меньше или равен длине этой последовательности.

Параметры:
offset - смещение.
obj - объект Object.
Возвращает:
ссылка на этот объект.
Исключения:
StringIndexOutOfBoundsException - если смещение неверно.

вставка

public StringBuffer insert(int offset, String str)
Вставляет строку в эту последовательность символов.

Символы аргумента String вставляются, в порядке, в эту последовательность в указанном смещении, сдвигая вверх любые символы, которые изначально находились выше этой позиции, и увеличивая длину этой последовательности на длину аргумента. Если str равно null, то в эту последовательность вставляются четыре символа "null".

Символ с индексом k в новой последовательности символов равен:

  • символу с индексом k в старой последовательности символов, если k меньше offset
  • символу с индексом k-offset в аргументе str, если k не меньше offset, но меньше offset+str.length()
  • символу с индексом k-str.length() в старой последовательности символов, если k не меньше offset+str.length()

Аргумент offset должен быть больше или равен 0 и меньше или равен длине этой последовательности.

Параметры:
offset - смещение.
str - строка.
Возвращает:
ссылка на этот объект.
Исключения:
StringIndexOutOfBoundsException - если смещение неверно.

вставка

public StringBuffer insert(int offset, char[] str)
Вставляет строковое представление аргумента-массива char в эту последовательность.

Символы аргумента-массива вставляются в содержимое этой последовательности в позиции, указанной offset. Длина этой последовательности увеличивается на длину аргумента.

Общий эффект такой же, как если бы второй аргумент был преобразован в строку методом String.valueOf(char[]), а символы этой строки затем inserted в эту последовательность символов в указанном смещении.

Аргумент offset должен быть больше или равен 0 и меньше или равен длине этой последовательности.

Параметры:
offset - смещение.
str - массив символов.
Возвращает:
ссылка на этот объект.
Исключения:
StringIndexOutOfBoundsException - если смещение неверно.

вставка

public StringBuffer insert(int dstOffset, CharSequence s)
Вставляет указанную CharSequence в эту последовательность.

Символы аргумента CharSequence вставляются, в порядке, в эту последовательность в указанном смещении, сдвигая вверх любые символы, которые изначально находились выше этой позиции, и увеличивая длину этой последовательности на длину аргумента s.

Результат этого метода точно такой же, как если бы это был вызов метода insert(dstOffset, s, 0, s.length()) этого объекта.

Если s равно null, то в эту последовательность вставляются четыре символа "null".

Параметры:
dstOffset - смещение.
s - последовательность для вставки
Возвращает:
ссылка на этот объект.
Исключения:
IndexOutOfBoundsException - если смещение неверно.
С:
1.5

вставка

public StringBuffer insert(int dstOffset, CharSequence s, int start, int end)
Вставляет подпоследовательность указанной CharSequence в эту последовательность.

Подпоследовательность аргумента s, заданная start и end, вставляется, в порядке, в эту последовательность в указанном смещении назначения, сдвигая вверх любые символы, которые изначально находились выше этой позиции. Длина этой последовательности увеличивается на end - start.

Символ с индексом k в этой последовательности становится равным:

  • символу с индексом k в этой последовательности, если k меньше dstOffset
  • символу с индексом k+start-dstOffset в аргументе s, если k больше или равно dstOffset, но меньше dstOffset+end-start
  • символу с индексом k-(end-start) в этой последовательности, если k больше или равно dstOffset+end-start

Аргумент dstOffset должен быть больше или равен 0 и меньше или равен длине этой последовательности.

Аргумент start должен быть неотрицательным и не больше end.

Аргумент end должен быть больше или равен start и меньше или равен длине s.

Если s равно null, то этот метод вставляет символы так, как если бы параметр s был последовательностью, содержащей четыре символа "null".

Параметры:
dstOffset - смещение в этой последовательности.
s - последовательность для вставки.
start - начальный индекс подпоследовательности для вставки.
end - конечный индекс подпоследовательности для вставки.
Возвращает:
ссылка на этот объект.
Исключения:
IndexOutOfBoundsException - если dstOffset отрицательно или больше this.length(), или start или end отрицательны, или start больше end или end больше s.length()
С:
1.5

вставка

public StringBuffer insert(int offset, boolean b)
Вставляет строковое представление аргумента boolean в эту последовательность.

Общий эффект такой же, как если бы второй аргумент был преобразован в строку методом String.valueOf(boolean), а символы этой строки затем inserted в эту последовательность символов в указанном смещении.

Аргумент offset должен быть больше или равен 0 и меньше или равен длине этой последовательности.

Параметры:
offset - смещение.
b - логическое значение.
Возвращает:
ссылка на этот объект.
Исключения:
StringIndexOutOfBoundsException - если смещение неверно.

вставка

public StringBuffer insert(int offset, char c)
Вставляет строковое представление аргумента char в эту последовательность.

Общий эффект такой же, как если бы второй аргумент был преобразован в строку методом String.valueOf(char), а символ в этой строке затем inserted в эту последовательность символов в указанном смещении.

Аргумент offset должен быть больше или равен 0 и меньше или равен длине этой последовательности.

Параметры:
offset - смещение.
c - символ.
Возвращает:
ссылка на этот объект.
Исключения:
IndexOutOfBoundsException - если смещение неверно.

вставка

public StringBuffer insert(int offset, int i)
Вставляет строковое представление второго int аргумента в эту последовательность.

Общий эффект точно такой же, как если бы второй аргумент был преобразован в строку с помощью метода String.valueOf(int), а затем символы этой строки были inserted в эту последовательность символов в указанном смещении.

Аргумент offset должен быть больше или равен 0 и меньше или равен длине этой последовательности.

Параметры:
offset - смещение.
i - целое число int.
Возвращает:
ссылку на этот объект.
Исключение:
StringIndexOutOfBoundsException - если смещение некорректно.

вставка

public StringBuffer insert(int offset, long l)
Вставляет строковое представление long аргумента в эту последовательность.

Общий эффект точно такой же, как если бы второй аргумент был преобразован в строку с помощью метода String.valueOf(long), а затем символы этой строки были inserted в эту последовательность символов в указанном смещении.

Аргумент offset должен быть больше или равен 0 и меньше или равен длине этой последовательности.

Параметры:
offset - смещение.
l - long.
Возвращает:
ссылку на этот объект.
Исключение:
StringIndexOutOfBoundsException - если смещение некорректно.

вставка

public StringBuffer insert(int offset, float f)
Вставляет строковое представление float аргумента в эту последовательность.

Общий эффект точно такой же, как если бы второй аргумент был преобразован в строку с помощью метода String.valueOf(float), а затем символы этой строки были inserted в эту последовательность символов в указанном смещении.

Аргумент offset должен быть больше или равен 0 и меньше или равен длине этой последовательности.

Параметры:
offset - смещение.
f - float.
Возвращает:
ссылку на этот объект.
Исключение:
StringIndexOutOfBoundsException - если смещение некорректно.

вставка

public StringBuffer insert(int offset, double d)
Вставляет строковое представление double аргумента в эту последовательность.

Общий эффект точно такой же, как если бы второй аргумент был преобразован в строку с помощью метода String.valueOf(double), а затем символы этой строки были inserted в эту последовательность символов в указанном смещении.

Аргумент offset должен быть больше или равен 0 и меньше или равен длине этой последовательности.

Параметры:
offset - смещение.
d - double.
Возвращает:
ссылку на этот объект.
Исключение:
StringIndexOutOfBoundsException - если смещение некорректно.

indexOf

public int indexOf(String str)
Возвращает индекс в этой строке первой встречи указанной подстроки.

Возвращаемый индекс — наименьшее значение k, для которого:


 this.toString().startsWith(str, k)
 
Если такого значения k не существует, то возвращается -1.
Параметры:
str - подстрока для поиска.
Возвращает:
индекс первой встречи указанной подстроки, или -1, если такая встреча не найдена.
Since:
1.4

indexOf

public int indexOf(String str, int fromIndex)
Возвращает индекс в этой строке первой встречи указанной подстроки, начиная с указанного индекса.

Возвращаемый индекс — наименьшее значение k, для которого:


     k >= Math.min(fromIndex, this.length()) &&
                   this.toString().startsWith(str, k)
 
Если такого значения k не существует, то возвращается -1.
Параметры:
str - подстрока для поиска.
fromIndex - индекс, с которого начать поиск.
Возвращает:
индекс первой встречи указанной подстроки, начиная с указанного индекса, или -1, если такая встреча не найдена.
Since:
1.4

lastIndexOf

public int lastIndexOf(String str)
Возвращает индекс в этой строке последней встречи указанной подстроки. Последняя встреча пустой строки "" считается происходящей в индексе this.length().

Возвращаемый индекс — наибольшее значение k, для которого:


 this.toString().startsWith(str, k)
 
Если такого значения k не существует, то возвращается -1.
Параметры:
str - подстрока для поиска.
Возвращает:
индекс последней встречи указанной подстроки, или -1, если такая встреча не найдена.
Since:
1.4

lastIndexOf

public int lastIndexOf(String str, int fromIndex)
Возвращает индекс в этой строке последней встречи указанной подстроки, ища назад, начиная с указанного индекса.

Возвращаемый индекс — наибольшее значение k, для которого:


     k <= Math.min(fromIndex, this.length()) &&
                   this.toString().startsWith(str, k)
 
Если такого значения k не существует, то возвращается -1.
Параметры:
str - подстрока для поиска.
fromIndex - индекс, с которого начать поиск.
Возвращает:
индекс последней встречи указанной подстроки, ища назад с указанного индекса, или -1, если такая встреча не найдена.
Since:
1.4

обратить

public StringBuffer reverse()
Приводит эту последовательность символов к обратной последовательности. Если в последовательности есть пары суррогатов, они обрабатываются как одиночные символы для операции обращения. Таким образом, порядок высоких и низких суррогатов никогда не меняется. Пусть n — длина последовательности символов (а не длина в char значениях) непосредственно перед выполнением метода reverse. Тогда символ с индексом k в новой последовательности символов равен символу с индексом n-k-1 в старой последовательности символов.

Обратите внимание, что операция обращения может привести к созданию пар суррогатов, которые были непопарными низкими и высокими суррогатами до операции. Например, обращение "\uDC00\uD800" даёт "\uD800\uDC00", что является валидной парой суррогатов.

Возвращает:
ссылку на этот объект.
Since:
1.0.2

повторить

public StringBuffer repeat(int codePoint, int count)
Повторяет count копии строкового представления codePoint аргумента в этой последовательности.

Длина этой последовательности увеличивается на count раз длину строкового представления.

Обычно для кодовых точек используются char выражения. Например:

// insert 10 asterisks into the buffer
sb.repeat('*', 10);
Параметры:
codePoint - кодовая точка для добавления
count - количество повторений
Возвращает:
ссылку на этот объект.
Исключение:
IllegalArgumentException - если указанная codePoint не является допустимой кодовой точкой Юникода или если count отрицательная.
Since:
21

повторить

public StringBuffer repeat(CharSequence cs, int count)
Добавляет count копии указанной CharSequence cs в эту последовательность.

Длина этой последовательности увеличивается на count раз длину CharSequence.

Если cs равно null, то четыре символа "null" повторяются в этой последовательности.

Параметры:
cs - CharSequence
count - количество повторений
Возвращает:
ссылку на этот объект.
Исключение:
IllegalArgumentException - если count отрицательная
Since:
21

toString

public String toString()
Возвращает строку, представляющую данные в этой последовательности. Новый String объект выделяется и инициализируется для хранения последовательности символов, в настоящее время представленной этим объектом. Этот String затем возвращается. Последующие изменения в этой последовательности не влияют на содержимое String.
Задано:
toString в интерфейсе CharSequence
Возвращает:
строковое представление этой последовательности символов.

chars

public IntStream chars()
Возвращает поток int нулевого расширения char значений из этой последовательности. Любой символ, который отображается в кодовый точке суррогата, пропускается без интерпретации.

Поток привязывается к этой последовательности, когда начинается терминальная операция потока (в частности, для изменяемых последовательностей итератор потока является поздней привязкой). Если последовательность изменяется во время этой операции, результат не определён.

Определено:
chars в интерфейсе CharSequence
Возвращает:
поток IntStream значений char из этой последовательности
С момента:
9

codePoints

public IntStream codePoints()
Возвращает поток значений кодовых точек из этой последовательности. Любые пары суррогатов, обнаруженные в последовательности, объединяются так, как будто они переданы Character.toCodePoint, и результат передаётся в поток. Любые другие единицы кода, включая обычные символы BMP, неспаренные суррогаты и неопределённые единицы кода, нулевым образом расширяются до int значений, которые затем передаются в поток.

Поток привязывается к этой последовательности, когда начинается терминальная операция потока (в частности, для изменяемых последовательностей итератор потока является поздней привязкой). Если последовательность изменяется во время этой операции, результат не определён.

Определено:
codePoints в интерфейсе CharSequence
Возвращает:
поток IntStream значений кодовых точек Юникода из этой последовательности
С момента:
9

© 1993, 2023, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/StringBuffer.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API