Spec-Zone.ru › OpenJDK 21

Класс 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)
Возвращает символ (код Юникода) по указанному индексу.
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 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 - сравниваемая последовательность
Возвращает:
значение 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 добавляются в порядке возрастания, увеличивая длину этой последовательности на длину аргумента. Если sb является null, то добавляются четыре символа "null" к этой последовательности.

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

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

append

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

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

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

append

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

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

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

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

append

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

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

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

append

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

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

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

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

append

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

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

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

append

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

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

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

append

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

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

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

append

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

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

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

appendCodePoint

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

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

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

Parameters:
codePoint - a Unicode code point
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 - если index отрицательное или больше или равно length().

replace

public StringBuilder replace(int start, int end, String str)
Заменяет символы в подстроке этой последовательности символами в указанной строке. Подстрока начинается с указанного start и продолжается до символа с индексом end - 1 или до конца последовательности, если такого символа нет. Сначала символы в подстроке удаляются, а затем указанная строка вставляется в 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 chars. Символы подмассива вставляются в эту последовательность в позиции, указанной index. Длина этой последовательности увеличивается на len chars.
Parameters:
index - позиция для вставки подмассива.
str - A char array.
offset - индекс первого char в подмассиве для вставки.
len - количество chars в подмассиве для вставки.
Returns:
Этот объект
Throws:
StringIndexOutOfBoundsException - если index отрицательно или больше length(), или offset или len отрицательны, или (offset+len) больше str.length.

insert

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

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

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

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

insert

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

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

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

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

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

Parameters:
offset - смещение.
str - строка.
Returns:
ссылка на этот объект.
Throws:
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 - значение типа boolean.
Возвращает:
ссылку на этот объект.
Исключения:
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 - целое число типа long.
Возвращает:
ссылку на этот объект.
Исключения:
StringIndexOutOfBoundsException - если смещение недействительно.

вставка

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

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

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

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

вставка

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

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

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

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

indexOf

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

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


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

indexOf

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

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


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

lastIndexOf

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

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


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

lastIndexOf

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

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


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

reverse

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

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

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

repeat

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

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

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

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

repeat

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

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

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

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

toString

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

length

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

capacity

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

ensureCapacity

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

trimToSize

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

setLength

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

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

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

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

charAt

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

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

subSequence

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

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


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

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

substring

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

chars

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

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

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

codePoints

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

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

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

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

Spec-Zone.ru

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