Spec-Zone.ru › OpenJDK 25

Класс StringBuilder

java.lang.Object
java.lang.StringBuilder
Все реализуемые интерфейсы:
Serializable, Appendable, CharSequence, Comparable<StringBuilder>
public final class StringBuilder extends Object implements Appendable, Serializable, Comparable<StringBuilder>, CharSequence
Изменяемая последовательность символов. Этот класс предоставляет API, совместимый с StringBuffer, но не гарантирует синхронизацию. Класс предназначен для использования в качестве прямой замены StringBuffer там, где буфер строк использовался одним потоком (как это обычно и бывает). По возможности рекомендуется использовать этот класс вместо StringBuffer, так как в большинстве реализаций он будет работать быстрее.

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

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

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

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

Экземпляры StringBuilder небезопасны для использования несколькими потоками. Если требуется такая синхронизация, рекомендуется использовать StringBuffer.

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

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

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

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

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

Модификатор и тип Метод Описание
StringBuilder append(boolean b)
Добавляет к последовательности строковое представление аргумента boolean.
StringBuilder append(char c)
Добавляет к этой последовательности строковое представление аргумента char.
StringBuilder append(char[] str)
Добавляет к этой последовательности строковое представление аргумента-массива char.
StringBuilder append(char[] str, int offset, int len)
Добавляет к этой последовательности строковое представление подмассива аргумента-массива char.
StringBuilder append(double d)
Добавляет к этой последовательности строковое представление аргумента double.
StringBuilder append(float f)
Добавляет к этой последовательности строковое представление аргумента float.
StringBuilder append(int i)
Добавляет к этой последовательности строковое представление аргумента int.
StringBuilder append(long lng)
Добавляет к этой последовательности строковое представление аргумента long.
StringBuilder append(CharSequence s)
Добавляет указанную последовательность символов в этот объект Appendable.
StringBuilder append(CharSequence s, int start, int end)
Добавляет подпоследовательность указанного CharSequence к этой последовательности.
StringBuilder append(Object obj)
Добавляет строковое представление аргумента Object.
StringBuilder append(String str)
Добавляет указанную строку в эту последовательность символов.
StringBuilder append(StringBuffer sb)
Добавляет указанный StringBuffer к этой последовательности.
StringBuilder 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(StringBuilder another)
Сравнивает два экземпляра StringBuilder в лексикографическом порядке.
StringBuilder delete(int start, int end)
Удаляет символы из подстроки этой последовательности.
StringBuilder deleteCharAt(int index)
Удаляет char в указанной позиции этой последовательности.
void ensureCapacity(int minimumCapacity)
Гарантирует, что емкость будет не меньше указанного минимального значения.
void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)
Копирует символы из этой последовательности в указанный массив назначения.
int indexOf(String str)
Возвращает индекс первого вхождения указанной подстроки в этой строке.
int indexOf(String str, int fromIndex)
Возвращает индекс первого вхождения указанной подстроки в этой строке, начиная с указанного индекса.
StringBuilder insert(int offset, boolean b)
Вставляет в эту последовательность строковое представление аргумента boolean.
StringBuilder insert(int offset, char c)
Вставляет в эту последовательность строковое представление аргумента char.
StringBuilder insert(int offset, char[] str)
Вставляет в эту последовательность строковое представление аргумента-массива char.
StringBuilder insert(int index, char[] str, int offset, int len)
Вставляет в эту последовательность строковое представление подмассива аргумента-массива str.
StringBuilder insert(int offset, double d)
Вставляет в эту последовательность строковое представление аргумента double.
StringBuilder insert(int offset, float f)
Вставляет в эту последовательность строковое представление аргумента float.
StringBuilder insert(int offset, int i)
Вставляет в эту последовательность строковое представление второго аргумента int.
StringBuilder insert(int offset, long l)
Вставляет в эту последовательность строковое представление аргумента long.
StringBuilder insert(int dstOffset, CharSequence s)
Вставляет в эту последовательность указанный CharSequence.
StringBuilder insert(int dstOffset, CharSequence s, int start, int end)
Вставляет в эту последовательность подпоследовательность указанного CharSequence.
StringBuilder insert(int offset, Object obj)
Вставляет в эту последовательность символов строковое представление аргумента Object.
StringBuilder 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 кодовых точек.
StringBuilder repeat(int codePoint, int count)
Добавляет к этой последовательности count копий строкового представления аргумента codePoint.
StringBuilder repeat(CharSequence cs, int count)
Добавляет к этой последовательности count копий указанного CharSequence cs.
StringBuilder replace(int start, int end, String str)
Заменяет символы в подстроке этой последовательности символами из указанного String.
StringBuilder 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()
Пытается сократить объем памяти, используемой для хранения последовательности символов.

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

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

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

charAt, chars, codePoints, getChars, isEmpty, length, subSequence

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

StringBuilder

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

StringBuilder

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

StringBuilder

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

StringBuilder

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

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

compareTo

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

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

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

append

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

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

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

append

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

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

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

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

append

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

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

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

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

append

public StringBuilder append(CharSequence s)
Описание скопировано из интерфейса: Appendable
Добавляет указанную последовательность символов к этому Appendable.

В зависимости от класса, реализующего последовательность символов csq, вся последовательность может быть добавлена не полностью. Например, если csq — это CharBuffer, то добавляемая подпоследовательность определяется позицией и пределом буфера.

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

Определён в:
append в интерфейсе Appendable
Параметры:
s — последовательность символов для добавления. Если csq равно null, к этому объекту Appendable добавляются четыре символа "null".
Возвращает:
Ссылку на этот Appendable

append

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

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

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

append

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

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

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

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

append

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

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

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

Параметры:
str — символы для добавления.
offset — индекс первого char для добавления.
len — количество char для добавления.
Возвращает:
ссылку на этот объект.
Исключения:
IndexOutOfBoundsException — если offset < 0, len < 0 или offset+len > str.length

append

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

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

Параметры:
b — значение boolean.
Возвращает:
ссылку на этот объект.

append

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

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

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

Определён в:
append в интерфейсе Appendable
Параметры:
c — символ char.
Возвращает:
ссылку на этот объект.

append

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

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

Параметры:
i — значение int.
Возвращает:
ссылку на этот объект.

append

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

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

Параметры:
lng — значение long.
Возвращает:
ссылку на этот объект.

append

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

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

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

append

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

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

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

appendCodePoint

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

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

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

Параметры:
codePoint — кодовая точка Юникода
Возвращает:
ссылку на этот объект.
С версии:
1.5

delete

public StringBuilder delete(int start, int end)
Удаляет символы в подстроке этой последовательности. Подстрока начинается с указанного start и продолжается до символа с индексом end - 1 или до конца последовательности, если такого символа нет. Если start равно end, изменения не вносятся.
Параметры:
start — начальный индекс включительно.
end — конечный индекс исключительно.
Возвращает:
этот объект.
Исключения:
StringIndexOutOfBoundsException — если start отрицательно, больше length() или больше end.

deleteCharAt

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

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

Параметры:
index — индекс удаляемого char
Возвращает:
этот объект.
Исключения:
StringIndexOutOfBoundsException — если index отрицательно или больше либо равно length().

replace

public StringBuilder replace(int start, int end, String str)
Заменяет символы в подстроке этой последовательности символами указанной строки String. Подстрока начинается с указанного start и продолжается до символа с индексом end - 1 или до конца последовательности, если такого символа нет. Сначала символы подстроки удаляются, а затем указанная String вставляется в позицию start. (При необходимости длина этой последовательности будет увеличена, чтобы вместить указанную строку.)
Параметры:
start — начальный индекс включительно.
end — конечный индекс исключительно.
str — строка, заменяющая предыдущее содержимое.
Возвращает:
этот объект.
Исключения:
StringIndexOutOfBoundsException — если start отрицательно, больше length() или больше end.

insert

public StringBuilder 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.

insert

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

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

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

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

insert

public StringBuilder 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 — если смещение недопустимо.

insert

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

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

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

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

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

insert

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

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

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

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

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

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

insert

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

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

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

insert

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

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

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

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

insert

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

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

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

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

insert

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

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

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

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

insert

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

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

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

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

insert

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

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

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

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

insert

public StringBuilder 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, если таких вхождений нет.

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, если таких вхождений нет.

lastIndexOf

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

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

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

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, если таких вхождений нет.

reverse

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

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

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

repeat

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

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

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

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

repeat

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

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

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

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

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

toString

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

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(), но это не гарантируется.

setLength

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

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

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

Параметры:
newLength — новая длина
Исключения:
IndexOutOfBoundsException — если аргумент newLength отрицателен.

charAt

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

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

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

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

codePointAt

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

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

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

codePointBefore

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

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

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

codePointCount

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

offsetByCodePoints

public int offsetByCodePoints(int index, int codePointOffset)
Возвращает индекс в этой последовательности, смещённый относительно заданного index на codePointOffset кодовых точек. Каждый непарный суррогат в текстовом диапазоне, заданном index и codePointOffset, считается одной кодовой точкой.
Параметры:
index — индекс, который требуется сместить
codePointOffset — смещение в кодовых точках
Возвращает:
индекс в этой последовательности
Исключения:
IndexOutOfBoundsException — если index отрицательно или больше длины этой последовательности; если codePointOffset положительно, а в подпоследовательности, начинающейся с index, меньше codePointOffset кодовых точек; либо если codePointOffset отрицательно, а в подпоследовательности перед index меньше кодовых точек, чем абсолютное значение codePointOffset.

getChars

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

setCharAt

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

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

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

substring

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

subSequence

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

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

sb.subSequence(begin, end)
действует точно так же, как вызов
sb.substring(begin, end)
Этот метод предоставлен для того, чтобы этот класс мог реализовать интерфейс CharSequence.
Определён в:
subSequence в интерфейсе CharSequence
Параметры:
start — начальный индекс включительно.
end — конечный индекс исключительно.
Возвращает:
указанную подпоследовательность.
Исключения:
IndexOutOfBoundsException — если start или end отрицательны, если end больше length() или если start больше end

substring

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

chars

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

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

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

codePoints

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

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

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

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторские права © 1993, 2025, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, 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/25/docs/api/java.base/java/lang/StringBuilder.html

Spec-Zone.ru

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