Spec-Zone.ru › OpenJDK 17

Класс StringBuffer

java.lang.Object
java.lang.StringBuffer
Все реализованные интерфейсы:
Serializable, Appendable, CharSequence, Comparable<StringBuffer>
public final class StringBuffer extends Object implements 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 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)
Обеспечивает, чтобы ёмкость была по крайней мере равна заданному минимуму. Если текущая ёмкость меньше аргумента, то новый внутренний массив выделяется с большей ёмкостью. Новая ёмкость — это большее из:
  • Аргумент 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, считаются по одной кодовой точке каждый.
Параметры:
index - индекс, который нужно сместить
codePointOffset - смещение в кодовых точках
Возвращает:
индекс в этой последовательности
Исключения:
IndexOutOfBoundsException - если index отрицателен или больше длины этой последовательности, или если codePointOffset положителен, и подпоследовательность, начинающаяся с index, содержит меньше, чем codePointOffset кодовых точек, или если codePointOffset отрицателен, и подпоследовательность перед index содержит меньше, чем абсолютное значение codePointOffset кодовых точек.
С:
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
 
Параметры:
srcBegin - начать копирование с этого смещения.
srcEnd - остановить копирование с этим смещением.
dst - массив для копирования данных.
dstBegin - смещение в dst.
Исключения:
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 и меньше длины этой последовательности.

Параметры:
index - индекс символа для изменения.
ch - новый символ.
Исключения:
IndexOutOfBoundsException - если index отрицателен или больше или равен length().
См. также:
  • length()

append

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

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

Параметры:
obj - объект Object.
Возвращает:
ссылку на этот объект.

append

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

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

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

Параметры:
str - строка.
Возвращает:
ссылку на этот объект.

append

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

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

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

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

Параметры:
sb - StringBuffer для добавления.
Возвращает:
ссылку на этот объект.
С:
1.4

append

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

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

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

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

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

Определено в:
append в интерфейсе Appendable
Параметры:
s - CharSequence для добавления.
Возвращает:
ссылку на этот объект.
С:
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".

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

append

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

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

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

Параметры:
str - символы, подлежащие добавлению.
Возвращает:
ссылку на этот объект.
END_OF_DOCUMENT_MARKER

append

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

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

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

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

append

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

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

Parameters:
b - значение типа boolean.
Returns:
ссылка на этот объект.

append

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

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

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

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

append

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

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

Parameters:
i - целое число 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 - значение типа long.
Returns:
ссылка на этот объект.

append

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

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

Parameters:
f - значение типа float.
Returns:
ссылка на этот объект.

append

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

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

Parameters:
d - значение типа 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)
Удаляет char по указанной позиции в этой последовательности. Длина этой последовательности уменьшается на один char.

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

Parameters:
index - индекс char для удаления
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

insert

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

insert

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

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

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

Parameters:
offset - смещение.
obj - Object.
Returns:
ссылка на этот объект.
Throws:
StringIndexOutOfBoundsException - если смещение неверно.

insert

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, и меньше или равен длине длины этой последовательности.

Parameters:
offset - смещение.
str - строка.
Returns:
ссылка на этот объект.
Throws:
StringIndexOutOfBoundsException - если смещение неверно.

insert

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

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

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

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

Parameters:
offset - смещение.
str - массив символов.
Returns:
ссылка на этот объект.
Throws:
StringIndexOutOfBoundsException - если смещение неверно.

insert

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

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

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

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

Parameters:
dstOffset - смещение.
s - вставляемая последовательность
Returns:
ссылка на этот объект.
Throws:
IndexOutOfBoundsException - если смещение неверно.
Since:
1.5

insert

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".

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

insert

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

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

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

Parameters:
offset - смещение.
b - boolean.
Returns:
ссылка на этот объект.
Throws:
StringIndexOutOfBoundsException - если смещение неверно.

вставить

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

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

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

Параметры:
offset - смещение.
c - char.
Возвращает:
ссылку на этот объект.
Исключения:
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, если такое вхождение отсутствует.
С:
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, если такое вхождение отсутствует.
С:
1.4

lastIndexOf

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

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


 this.toString().startsWith(str, k)
 
Если такого значения k нет, то возвращается -1.
Параметры:
str - подстрока для поиска.
Возвращает:
индекс последнего вхождения указанной подстроки, или -1, если такое вхождение отсутствует.
С:
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, если такое вхождение отсутствует.
С:
1.4

обратить

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

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

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

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 значений кодовых точек Unicode из этой последовательности
С:
9

© 1993, 2021, 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/17/docs/api/java.base/java/lang/StringBuffer.html

Spec-Zone.ru

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