Spec-Zone.ru › OpenJDK 24

Класс 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)
Символы копируются из этой последовательности в целевой массив символов dst.
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()
Пытается уменьшить объем памяти, используемый для последовательности символов.

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

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

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

charAt, chars, codePoints, 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 в эту последовательность символов.

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

append

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

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

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

append

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

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

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

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

append

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

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

Parameters:
i - целое число.
Returns:
ссылка на этот объект.

append

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

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

Parameters:
lng - длинное целое число.
Returns:
ссылка на этот объект.

append

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

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

Parameters:
f - число с плавающей точкой.
Returns:
ссылка на этот объект.

append

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

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

Parameters:
d - число с двойной точностью.
Returns:
ссылка на этот объект.

appendCodePoint

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

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

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

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

delete

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

deleteCharAt

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

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

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

replace

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

insert

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

вставка

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

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

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

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

вставка

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 - если смещение некорректно.

вставка

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

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

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

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

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

вставка

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

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

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

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

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

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

вставка

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()

вставка

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

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

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

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

вставка

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

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

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

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

вставка

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

Parameters:
offset - смещение.
l - a long.
Returns:
ссылка на этот объект.
Throws:
StringIndexOutOfBoundsException - если смещение недействительно.

insert

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

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

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

Parameters:
offset - смещение.
f - a float.
Returns:
ссылка на этот объект.
Throws:
StringIndexOutOfBoundsException - если смещение недействительно.

insert

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

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

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

Parameters:
offset - смещение.
d - a double.
Returns:
ссылка на этот объект.
Throws:
StringIndexOutOfBoundsException - если смещение недействительно.

indexOf

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

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


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

indexOf

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

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


     k >= Math.min(fromIndex, this.length()) &&
                   this.toString().startsWith(str, k)
 
Если такого значения k не существует, то возвращается -1.
Parameters:
str - подстрока, которую нужно найти.
fromIndex - индекс, с которого нужно начать поиск.
Returns:
индекс первого вхождения указанной подстроки, начиная с указанного индекса, или -1, если такого вхождения нет.

lastIndexOf

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

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


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

lastIndexOf

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

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


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

reverse

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

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

Returns:
ссылка на этот объект.

repeat

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

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

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

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

repeat

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

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

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

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

Parameters:
cs - a CharSequence
count - число копий
Returns:
ссылка на этот объект.
Throws:
IllegalArgumentException - если count отрицательная
Since:
21

toString

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

length

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

capacity

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

ensureCapacity

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

Аргумент индекса должен быть больше или равен 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)
Символы копируются из этой последовательности в целевой массив символов 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().

substring

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

подпоследовательность

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

подстрока

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 значения от этой последовательности. Любой символ, отображающий суррогатную кодовую точку, пропускается без интерпретации.

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

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

codePoints

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

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

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

© 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://download.java.net/java/early_access/jdk24/docs/api/java.base/java/lang/StringBuilder.html

Spec-Zone.ru

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