Spec-Zone.ru › OpenJDK 17

Класс StringBuilder

java.lang.Object
java.lang.StringBuilder
Все реализованные интерфейсы:
Serializable, Appendable, CharSequence, Comparable<StringBuilder>
public final class StringBuilder extends Object implements 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)
Создает строковый билдер, инициализированный содержимым указанной строки.

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

Modifier and Type Method Описание
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)
Возвращает символ (код Юникода) по указанному индексу.
int codePointBefore(int index)
Возвращает символ (код Юникода) перед указанным индексом.
int codePointCount(int beginIndex, int endIndex)
Возвращает количество символов Юникода в указанном текстовом диапазоне этой последовательности.
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 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 - объект.
Возвращает:
ссылка на этот объект.

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, то подпоследовательность для добавления определяется позицией и пределом буфера.

Унаследованно от:
append в интерфейсе Appendable
Параметры:
s - Последовательность символов для добавления. Если csq равно null, то добавляются четыре символа "null" к этому Appendable.
Возвращает:
Ссылка на этот 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".

Унаследованно от:
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

Добавить

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

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

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

Добавить

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

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

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

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

Добавить

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

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

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

Добавить

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

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

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

Добавить

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

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

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

Добавить

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

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

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

ДобавитьКодТочки

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

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

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

Параметры:
codePoint - a Unicode code point
Возвращает:
ссылку на этот объект.
С:
1.5

Удалить

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

УдалитьСимвол

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

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

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

Заменить

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

Вставить

public StringBuilder insert(int index, char[] str, int offset, int len)
Вставляет строковое представление подмассива аргумента массива str в эту последовательность. Подмассив начинается с указанного offset и расширяется len chars. Символы подмассива вставляются в эту последовательность в позиции, указанной index. Длина этой последовательности увеличивается на len chars.
Параметры:
index - Позиция вставки подмассива.
str - Массив char.
offset - Индекс первого char в подмассиве для вставки.
len - Количество chars в подмассиве для вставки.
Возвращает:
Этот объект
Исключения:
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 - an 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()) этого объекта.

Если 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".

Параметры:
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 - булево значение.
Возвращает:
ссылку на этот объект.
Исключения:
StringIndexOutOfBoundsException - если смещение некорректно.

вставка

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

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

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

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

вставка

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

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

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

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

вставка

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

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

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

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

вставка

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

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

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

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

вставка

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

обращение

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

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

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

toString

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

длина

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

емкость

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

убедитьсяВЁмкости

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

обрезатьДоРазмеры

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

установитьДлину

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)
Возвращает символ (кодовое значение Юникода) по указанному индексу. Индекс относится к char значениям (единицам кодирования Юникода) и находится в диапазоне от 0 до CharSequence.length() - 1.

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

Parameters:
index - индекс значения char
Returns:
значение кода символа по указанному index
Throws:
IndexOutOfBoundsException - если аргумент index отрицательный или не меньше длины этой последовательности.

codePointBefore

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

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

Parameters:
index - индекс, следующий за кодовым символом, который должен быть возвращен
Returns:
значение кода Юникода перед заданным индексом.
Throws:
IndexOutOfBoundsException - если аргумент index меньше 1 или больше длины этой последовательности.

codePointCount

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

offsetByCodePoints

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

getChars

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

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

setCharAt

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

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

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

substring

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

subSequence

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

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


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

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

substring

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

chars

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

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

Specified by:
chars в интерфейсе CharSequence
Returns:
поток IntStream значений char из этой последовательности
Since:
9

codePoints

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

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

Specified by:
codePoints в интерфейсе CharSequence
Returns:
поток IntStream значений кодовых точек Юникода из этой последовательности
Since:
9

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

Spec-Zone.ru

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