Класс StringBuilder
- Все реализуемые интерфейсы:
Serializable, Appendable, CharSequence, Comparable<StringBuilder>
public final class StringBuilder extends Object implements Appendable, Serializable, Comparable<StringBuilder>, CharSequence
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
- См. также:
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
StringBuilder() |
Создает построитель строк без символов с начальной емкостью 16 символов. |
StringBuilder |
Создает построитель строк без символов с начальной емкостью, заданной аргументом capacity. |
StringBuilder |
Создает построитель строк, содержащий те же символы, что и указанный CharSequence. |
StringBuilder |
Создает построитель строк, инициализированный содержимым указанной строки. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
StringBuilder |
append |
Добавляет к последовательности строковое представление аргумента boolean. |
StringBuilder |
append |
Добавляет к этой последовательности строковое представление аргумента char. |
StringBuilder |
append |
Добавляет к этой последовательности строковое представление аргумента-массива char. |
StringBuilder |
append |
Добавляет к этой последовательности строковое представление подмассива аргумента-массива char. |
StringBuilder |
append |
Добавляет к этой последовательности строковое представление аргумента double. |
StringBuilder |
append |
Добавляет к этой последовательности строковое представление аргумента float. |
StringBuilder |
append |
Добавляет к этой последовательности строковое представление аргумента int. |
StringBuilder |
append |
Добавляет к этой последовательности строковое представление аргумента long. |
StringBuilder |
append |
Добавляет указанную последовательность символов в этот объект Appendable. |
StringBuilder |
append |
Добавляет подпоследовательность указанного CharSequence к этой последовательности. |
StringBuilder |
append |
Добавляет строковое представление аргумента Object. |
StringBuilder |
append |
Добавляет указанную строку в эту последовательность символов. |
StringBuilder |
append |
Добавляет указанный StringBuffer к этой последовательности. |
StringBuilder |
appendCodePoint |
Добавляет к этой последовательности строковое представление аргумента codePoint. |
int |
capacity() |
Возвращает текущую емкость. |
char |
charAt |
Возвращает значение char в этой последовательности по указанному индексу. |
IntStream |
chars() |
Возвращает поток значений int, дополняющий нулями значения char из этой последовательности. |
int |
codePointAt |
Возвращает символ (кодовую точку Unicode) по указанному индексу. |
int |
codePointBefore |
Возвращает символ (кодовую точку Unicode), расположенный перед указанным индексом. |
int |
codePointCount |
Возвращает количество кодовых точек Unicode в указанном диапазоне текста этой последовательности. |
IntStream |
codePoints() |
Возвращает поток значений кодовых точек из этой последовательности. |
int |
compareTo |
Сравнивает два экземпляра StringBuilder в лексикографическом порядке. |
StringBuilder |
delete |
Удаляет символы из подстроки этой последовательности. |
StringBuilder |
deleteCharAt |
Удаляет char в указанной позиции этой последовательности. |
void |
ensureCapacity |
Гарантирует, что емкость будет не меньше указанного минимального значения. |
void |
getChars |
Копирует символы из этой последовательности в указанный массив назначения. |
int |
indexOf |
Возвращает индекс первого вхождения указанной подстроки в этой строке. |
int |
indexOf |
Возвращает индекс первого вхождения указанной подстроки в этой строке, начиная с указанного индекса. |
StringBuilder |
insert |
Вставляет в эту последовательность строковое представление аргумента boolean. |
StringBuilder |
insert |
Вставляет в эту последовательность строковое представление аргумента char. |
StringBuilder |
insert |
Вставляет в эту последовательность строковое представление аргумента-массива char. |
StringBuilder |
insert |
Вставляет в эту последовательность строковое представление подмассива аргумента-массива str. |
StringBuilder |
insert |
Вставляет в эту последовательность строковое представление аргумента double. |
StringBuilder |
insert |
Вставляет в эту последовательность строковое представление аргумента float. |
StringBuilder |
insert |
Вставляет в эту последовательность строковое представление второго аргумента int. |
StringBuilder |
insert |
Вставляет в эту последовательность строковое представление аргумента long. |
StringBuilder |
insert |
Вставляет в эту последовательность указанный CharSequence. |
StringBuilder |
insert |
Вставляет в эту последовательность подпоследовательность указанного CharSequence. |
StringBuilder |
insert |
Вставляет в эту последовательность символов строковое представление аргумента Object. |
StringBuilder |
insert |
Вставляет строку в эту последовательность символов. |
int |
lastIndexOf |
Возвращает индекс последнего вхождения указанной подстроки в этой строке. |
int |
lastIndexOf |
Возвращает индекс последнего вхождения указанной подстроки в этой строке; поиск выполняется в обратном направлении, начиная с указанного индекса. |
int |
length() |
Возвращает длину (количество символов). |
int |
offsetByCodePoints |
Возвращает индекс в этой последовательности, смещенный относительно заданного index на codePointOffset кодовых точек. |
StringBuilder |
repeat |
Добавляет к этой последовательности count копий строкового представления аргумента codePoint. |
StringBuilder |
repeat |
Добавляет к этой последовательности count копий указанного CharSequence cs. |
StringBuilder |
replace |
Заменяет символы в подстроке этой последовательности символами из указанного String. |
StringBuilder |
reverse() |
Заменяет эту последовательность символов ее обратной последовательностью. |
void |
setCharAt |
Символу по указанному индексу присваивается значение ch. |
void |
setLength |
Устанавливает длину последовательности символов. |
CharSequence |
subSequence |
Возвращает последовательность символов, являющуюся подпоследовательностью этой последовательности. |
String |
substring |
Возвращает String, содержащий подпоследовательность символов, имеющихся в данный момент в этой последовательности символов. |
String |
substring |
Возвращает String, содержащий подпоследовательность символов, имеющихся в данный момент в этой последовательности. |
String |
toString() |
Возвращает строку, представляющую данные этой последовательности. |
void |
trimToSize() |
Пытается сократить объем памяти, используемой для хранения последовательности символов. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Методы, объявленные в интерфейсе CharSequence
charAt, chars, codePoints, getChars, isEmpty, length, subSequence
Подробное описание конструкторов
StringBuilder
public StringBuilder()
StringBuilder
public StringBuilder(int capacity)
capacity.- Параметры:
-
capacity— начальная ёмкость. - Исключения:
-
NegativeArraySizeException— если аргументcapacityменьше0.
StringBuilder
public StringBuilder(String str)
16 плюс длина строкового аргумента.- Параметры:
-
str— начальное содержимое буфера.
StringBuilder
public StringBuilder(CharSequence seq)
CharSequence. Начальная ёмкость строкового буфера равна 16 плюс длина аргумента CharSequence.- Параметры:
-
seq— последовательность для копирования.
Подробное описание методов
compareTo
public int compareTo(StringBuilder another)
StringBuilder. Этот метод использует те же правила лексикографического сравнения, что и метод CharSequence.compare(this, another). Для более точного сравнения строк с учётом локали см. Collator.
- Определён в:
-
compareToв интерфейсеComparable<StringBuilder> - Параметры:
-
another—StringBuilderдля сравнения - Возвращает:
- значение
0, если этаStringBuilderсодержит ту же последовательность символов, что и аргументStringBuilder; отрицательное целое число, если этаStringBuilderлексикографически меньше аргументаStringBuilder; или положительное целое число, если этаStringBuilderлексикографически больше аргументаStringBuilder. - С версии:
- 11
append
public StringBuilder append(Object obj)
Object. Общий эффект в точности такой же, как если бы аргумент был преобразован в строку методом String.valueOf(Object), а символы этой строки затем были appended к этой последовательности символов.
- Параметры:
-
obj— объектObject. - Возвращает:
- ссылку на этот объект.
append
public StringBuilder append(String str)
Символы аргумента String добавляются по порядку, увеличивая длину последовательности на длину аргумента. Если str равно null, добавляются четыре символа "null".
Пусть n — длина этой последовательности символов непосредственно перед выполнением метода append. Тогда символ с индексом k в новой последовательности символов равен символу с индексом k в старой последовательности символов, если k меньше n; в противном случае он равен символу с индексом k-n в аргументе str.
- Параметры:
-
str— строка. - Возвращает:
- ссылку на этот объект.
append
public StringBuilder append(StringBuffer sb)
StringBuffer к этой последовательности. Символы аргумента StringBuffer добавляются к этой последовательности по порядку, увеличивая её длину на длину аргумента. Если sb равно null, к этой последовательности добавляются четыре символа "null".
Пусть n — длина этой последовательности символов непосредственно перед выполнением метода append. Тогда символ с индексом k в новой последовательности символов равен символу с индексом k в старой последовательности символов, если k меньше n; в противном случае он равен символу с индексом k-n в аргументе sb.
- Параметры:
-
sb— последовательностьStringBufferдля добавления. - Возвращает:
- ссылку на этот объект.
append
public StringBuilder append(CharSequence s)
AppendableAppendable. В зависимости от класса, реализующего последовательность символов csq, вся последовательность может быть добавлена не полностью. Например, если csq — это CharBuffer, то добавляемая подпоследовательность определяется позицией и пределом буфера.
Содержимое этого Appendable не определено, если CharSequence изменяется во время вызова метода или при доступе к CharSequence возникает исключение.
- Определён в:
-
appendв интерфейсеAppendable - Параметры:
-
s— последовательность символов для добавления. Еслиcsqравноnull, к этому объекту Appendable добавляются четыре символа"null". - Возвращает:
- Ссылку на этот
Appendable
append
public StringBuilder append(CharSequence s, int start, int end)
CharSequence к этой последовательности. Символы аргумента s, начиная с индекса start, добавляются по порядку к содержимому этой последовательности вплоть до (не включая) индекса end. Длина этой последовательности увеличивается на значение end - start.
Пусть n — длина этой последовательности символов непосредственно перед выполнением метода append. Тогда символ с индексом k в этой последовательности символов становится равен символу с индексом k в этой последовательности, если k меньше n; в противном случае он равен символу с индексом k+start-n в аргументе s.
Если s равно null, этот метод добавляет символы так, как если бы параметр s был последовательностью, содержащей четыре символа "null".
Содержимое не определено, если CharSequence изменяется во время вызова метода или при доступе к CharSequence возникает исключение.
- Определён в:
-
appendв интерфейсеAppendable - Параметры:
-
s— последовательность для добавления. -
start— начальный индекс добавляемой подпоследовательности. -
end— конечный индекс добавляемой подпоследовательности. - Возвращает:
- ссылку на этот объект.
- Исключения:
-
IndexOutOfBoundsException— еслиstartотрицательно,startбольшеendилиendбольшеs.length()
append
public StringBuilder append(char[] str)
char — к этой последовательности. Символы аргумента-массива добавляются по порядку к содержимому этой последовательности. Длина этой последовательности увеличивается на длину аргумента.
Общий эффект в точности такой же, как если бы аргумент был преобразован в строку методом String.valueOf(char[]), а символы этой строки затем были appended к этой последовательности символов.
- Параметры:
-
str— символы для добавления. - Возвращает:
- ссылку на этот объект.
append
public StringBuilder append(char[] str, int offset, int len)
char — к этой последовательности. Символы массива char str, начиная с индекса offset, добавляются по порядку к содержимому этой последовательности. Длина этой последовательности увеличивается на значение len.
Общий эффект в точности такой же, как если бы аргументы были преобразованы в строку методом String.valueOf(char[],int,int), а символы этой строки затем были appended к этой последовательности символов.
- Параметры:
-
str— символы для добавления. -
offset— индекс первогоcharдля добавления. -
len— количествоcharдля добавления. - Возвращает:
- ссылку на этот объект.
- Исключения:
-
IndexOutOfBoundsException— еслиoffset < 0,len < 0илиoffset+len > str.length
append
public StringBuilder append(boolean b)
boolean к последовательности. Общий эффект в точности такой же, как если бы аргумент был преобразован в строку методом String.valueOf(boolean), а символы этой строки затем были appended к этой последовательности символов.
- Параметры:
-
b— значениеboolean. - Возвращает:
- ссылку на этот объект.
append
public StringBuilder append(char c)
char к этой последовательности. Аргумент добавляется к содержимому этой последовательности. Длина этой последовательности увеличивается на 1.
Общий эффект в точности такой же, как если бы аргумент был преобразован в строку методом String.valueOf(char), а символ этой строки затем был appended к этой последовательности символов.
- Определён в:
-
appendв интерфейсеAppendable - Параметры:
-
c— символchar. - Возвращает:
- ссылку на этот объект.
append
public StringBuilder append(int i)
int к этой последовательности. Общий эффект в точности такой же, как если бы аргумент был преобразован в строку методом String.valueOf(int), а символы этой строки затем были appended к этой последовательности символов.
- Параметры:
-
i— значениеint. - Возвращает:
- ссылку на этот объект.
append
public StringBuilder append(long lng)
long к этой последовательности. Общий эффект в точности такой же, как если бы аргумент был преобразован в строку методом String.valueOf(long), а символы этой строки затем были appended к этой последовательности символов.
- Параметры:
-
lng— значениеlong. - Возвращает:
- ссылку на этот объект.
append
public StringBuilder append(float f)
float к этой последовательности. Общий эффект в точности такой же, как если бы аргумент был преобразован в строку методом String.valueOf(float), а символы этой строки затем были appended к этой последовательности символов.
- Параметры:
-
f— значениеfloat. - Возвращает:
- ссылку на этот объект.
append
public StringBuilder append(double d)
double к этой последовательности. Общий эффект в точности такой же, как если бы аргумент был преобразован в строку методом String.valueOf(double), а символы этой строки затем были appended к этой последовательности символов.
- Параметры:
-
d— значениеdouble. - Возвращает:
- ссылку на этот объект.
appendCodePoint
public StringBuilder appendCodePoint(int codePoint)
codePoint к этой последовательности. Аргумент добавляется к содержимому этой последовательности. Длина этой последовательности увеличивается на Character.charCount(codePoint).
Общий эффект в точности такой же, как если бы аргумент был преобразован в массив char методом Character.toChars(int), а символы этого массива затем были appended к этой последовательности символов.
- Параметры:
-
codePoint— кодовая точка Юникода - Возвращает:
- ссылку на этот объект.
- С версии:
- 1.5
delete
public StringBuilder delete(int start, int end)
start и продолжается до символа с индексом end - 1 или до конца последовательности, если такого символа нет. Если start равно end, изменения не вносятся.- Параметры:
-
start— начальный индекс включительно. -
end— конечный индекс исключительно. - Возвращает:
- этот объект.
- Исключения:
-
StringIndexOutOfBoundsException— еслиstartотрицательно, большеlength()или большеend.
deleteCharAt
public StringBuilder deleteCharAt(int index)
char в указанной позиции этой последовательности. Длина этой последовательности уменьшается на один char. Примечание: если символ с указанным индексом является дополнительным символом, этот метод не удаляет его целиком. Если требуется корректная обработка дополнительных символов, определите количество удаляемых char, вызвав Character.charCount(thisSequence.codePointAt(index)), где thisSequence — эта последовательность.
- Параметры:
-
index— индекс удаляемогоchar - Возвращает:
- этот объект.
- Исключения:
-
StringIndexOutOfBoundsException— еслиindexотрицательно или больше либо равноlength().
replace
public StringBuilder replace(int start, int end, String str)
String. Подстрока начинается с указанного start и продолжается до символа с индексом end - 1 или до конца последовательности, если такого символа нет. Сначала символы подстроки удаляются, а затем указанная String вставляется в позицию start. (При необходимости длина этой последовательности будет увеличена, чтобы вместить указанную строку.)- Параметры:
-
start— начальный индекс включительно. -
end— конечный индекс исключительно. -
str— строка, заменяющая предыдущее содержимое. - Возвращает:
- этот объект.
- Исключения:
-
StringIndexOutOfBoundsException— еслиstartотрицательно, большеlength()или большеend.
insert
public StringBuilder insert(int index, char[] str, int offset, int len)
str — в эту последовательность. Подмассив начинается с указанного offset и содержит len char. Символы подмассива вставляются в эту последовательность в позиции, указанной параметром index. Длина этой последовательности увеличивается на len char.- Параметры:
-
index— позиция для вставки подмассива. -
str— массивchar. -
offset— индекс первогоcharво вставляемом подмассиве. -
len— количествоcharво вставляемом подмассиве. - Возвращает:
- этот объект
- Исключения:
-
StringIndexOutOfBoundsException— еслиindexотрицательно или большеlength(), либоoffsetилиlenотрицательны, либо(offset+len)большеstr.length.
insert
public StringBuilder insert(int offset, Object obj)
Object в эту последовательность символов. Общий эффект в точности такой же, как если бы второй аргумент был преобразован в строку методом String.valueOf(Object), а символы этой строки затем были inserted в эту последовательность символов по указанному смещению.
Аргумент offset должен быть больше либо равен 0 и меньше либо равен длине этой последовательности.
- Параметры:
-
offset— смещение. -
obj— объектObject. - Возвращает:
- ссылку на этот объект.
- Исключения:
-
StringIndexOutOfBoundsException— если смещение недопустимо.
insert
public StringBuilder insert(int offset, String str)
Символы аргумента String вставляются по порядку в эту последовательность по указанному смещению, сдвигая символы, изначально находившиеся после этой позиции, и увеличивая длину последовательности на длину аргумента. Если str равно null, в эту последовательность вставляются четыре символа "null".
Символ с индексом k в новой последовательности символов равен:
- символу с индексом k в старой последовательности символов, если k меньше
offset - символу с индексом k
-offsetв аргументеstr, если k не меньшеoffset, но меньшеoffset+str.length() - символу с индексом k
-str.length()в старой последовательности символов, если k не меньшеoffset+str.length()
Аргумент offset должен быть больше либо равен 0 и меньше либо равен длине этой последовательности.
- Параметры:
-
offset— смещение. -
str— строка. - Возвращает:
- ссылку на этот объект.
- Исключения:
-
StringIndexOutOfBoundsException— если смещение недопустимо.
insert
public StringBuilder insert(int offset, char[] str)
char — в эту последовательность. Символы аргумента-массива вставляются в содержимое этой последовательности в позицию, указанную параметром offset. Длина этой последовательности увеличивается на длину аргумента.
Общий эффект в точности такой же, как если бы второй аргумент был преобразован в строку методом String.valueOf(char[]), а символы этой строки затем были inserted в эту последовательность символов по указанному смещению.
Аргумент offset должен быть больше либо равен 0 и меньше либо равен длине этой последовательности.
- Параметры:
-
offset— смещение. -
str— массив символов. - Возвращает:
- ссылку на этот объект.
- Исключения:
-
StringIndexOutOfBoundsException— если смещение недопустимо.
insert
public StringBuilder insert(int dstOffset, CharSequence s)
CharSequence в эту последовательность. Символы аргумента CharSequence вставляются по порядку в эту последовательность по указанному смещению, сдвигая символы, изначально находившиеся после этой позиции, и увеличивая длину этой последовательности на длину аргумента s.
Результат этого метода в точности совпадает с вызовом метода insert(dstOffset, s, 0, s.length()) этого объекта.
Содержимое не определено, если CharSequence изменяется во время вызова метода или при доступе к CharSequence возникает исключение.
Если s равно null, в эту последовательность вставляются четыре символа "null".
- Параметры:
-
dstOffset— смещение. -
s— вставляемая последовательность - Возвращает:
- ссылку на этот объект.
- Исключения:
-
IndexOutOfBoundsException— если смещение недопустимо.
insert
public StringBuilder insert(int dstOffset, CharSequence s, int start, int end)
CharSequence в эту последовательность. Подпоследовательность аргумента s, заданная параметрами start и end, вставляется по порядку в эту последовательность по указанному смещению назначения, сдвигая символы, изначально находившиеся после этой позиции. Длина этой последовательности увеличивается на end - start.
Символ с индексом k в этой последовательности становится равен:
- символу с индексом k в этой последовательности, если k меньше
dstOffset - символу с индексом k
+start-dstOffsetв аргументеs, если k больше либо равенdstOffset, но меньшеdstOffset+end-start - символу с индексом k
-(end-start)в этой последовательности, если k больше либо равенdstOffset+end-start
Аргумент dstOffset должен быть больше либо равен 0 и меньше либо равен длине этой последовательности.
Аргумент start должен быть неотрицательным и не превышать end.
Аргумент end должен быть больше либо равен start и не превышать длину s.
Если s равно null, этот метод вставляет символы так, как если бы параметр s был последовательностью, содержащей четыре символа "null".
Содержимое не определено, если CharSequence изменяется во время вызова метода или при доступе к CharSequence возникает исключение.
- Параметры:
-
dstOffset— смещение в этой последовательности. -
s— вставляемая последовательность. -
start— начальный индекс вставляемой подпоследовательности. -
end— конечный индекс вставляемой подпоследовательности. - Возвращает:
- ссылку на этот объект.
- Исключения:
-
IndexOutOfBoundsException— еслиdstOffsetотрицательно или большеthis.length(), либоstartилиendотрицательны, либоstartбольшеendилиendбольшеs.length()
insert
public StringBuilder insert(int offset, boolean b)
boolean в эту последовательность. Общий эффект в точности такой же, как если бы второй аргумент был преобразован в строку методом String.valueOf(boolean), а символы этой строки затем были inserted в эту последовательность символов по указанному смещению.
Аргумент offset должен быть больше либо равен 0 и меньше либо равен длине этой последовательности.
- Параметры:
-
offset— смещение. -
b— значениеboolean. - Возвращает:
- ссылку на этот объект.
- Исключения:
-
StringIndexOutOfBoundsException— если смещение недопустимо.
insert
public StringBuilder insert(int offset, char c)
char в эту последовательность. Общий эффект точно такой же, как если бы второй аргумент был преобразован в строку методом String.valueOf(char), а символ из этой строки затем был inserted в эту последовательность символов по указанному смещению.
Аргумент offset должен быть больше или равен 0 и меньше или равен длине этой последовательности.
- Параметры:
-
offset— смещение. -
c— значение типаchar. - Возвращает:
- ссылку на этот объект.
- Исключения:
-
IndexOutOfBoundsException— если смещение недопустимо.
insert
public StringBuilder insert(int offset, int i)
int в эту последовательность. Общий эффект точно такой же, как если бы второй аргумент был преобразован в строку методом String.valueOf(int), а символы из этой строки затем были inserted в эту последовательность символов по указанному смещению.
Аргумент offset должен быть больше или равен 0 и меньше или равен длине этой последовательности.
- Параметры:
-
offset— смещение. -
i— значение типаint. - Возвращает:
- ссылку на этот объект.
- Исключения:
-
StringIndexOutOfBoundsException— если смещение недопустимо.
insert
public StringBuilder insert(int offset, long l)
long в эту последовательность. Общий эффект точно такой же, как если бы второй аргумент был преобразован в строку методом String.valueOf(long), а символы из этой строки затем были inserted в эту последовательность символов по указанному смещению.
Аргумент offset должен быть больше или равен 0 и меньше или равен длине этой последовательности.
- Параметры:
-
offset— смещение. -
l— значение типаlong. - Возвращает:
- ссылку на этот объект.
- Исключения:
-
StringIndexOutOfBoundsException— если смещение недопустимо.
insert
public StringBuilder insert(int offset, float f)
float в эту последовательность. Общий эффект точно такой же, как если бы второй аргумент был преобразован в строку методом String.valueOf(float), а символы из этой строки затем были inserted в эту последовательность символов по указанному смещению.
Аргумент offset должен быть больше или равен 0 и меньше или равен длине этой последовательности.
- Параметры:
-
offset— смещение. -
f— значение типаfloat. - Возвращает:
- ссылку на этот объект.
- Исключения:
-
StringIndexOutOfBoundsException— если смещение недопустимо.
insert
public StringBuilder insert(int offset, double d)
double в эту последовательность. Общий эффект точно такой же, как если бы второй аргумент был преобразован в строку методом String.valueOf(double), а символы из этой строки затем были inserted в эту последовательность символов по указанному смещению.
Аргумент offset должен быть больше или равен 0 и меньше или равен длине этой последовательности.
- Параметры:
-
offset— смещение. -
d— значение типаdouble. - Возвращает:
- ссылку на этот объект.
- Исключения:
-
StringIndexOutOfBoundsException— если смещение недопустимо.
indexOf
public int indexOf(String str)
Возвращаемый индекс — наименьшее значение k, для которого:
this.toString().startsWith(str, k)
Если такого значения k не существует, возвращается -1.- Параметры:
-
str— подстрока для поиска. - Возвращает:
- индекс первого вхождения указанной подстроки или
-1, если таких вхождений нет.
indexOf
public int indexOf(String str, int fromIndex)
Возвращаемый индекс — наименьшее значение k, для которого:
k >= Math.min(fromIndex, this.length()) &&
this.toString().startsWith(str, k)
Если такого значения k не существует, возвращается -1.- Параметры:
-
str— подстрока для поиска. -
fromIndex— индекс, с которого начинается поиск. - Возвращает:
- индекс первого вхождения указанной подстроки, начиная с указанного индекса, или
-1, если таких вхождений нет.
lastIndexOf
public int lastIndexOf(String str)
this.length(). Возвращаемый индекс — наибольшее значение k, для которого:
this.toString().startsWith(str, k)
Если такого значения k не существует, возвращается -1.- Параметры:
-
str— подстрока для поиска. - Возвращает:
- индекс последнего вхождения указанной подстроки или
-1, если таких вхождений нет.
lastIndexOf
public int lastIndexOf(String str, int fromIndex)
Возвращаемый индекс — наибольшее значение k, для которого:
k <= Math.min(fromIndex, this.length()) &&
this.toString().startsWith(str, k)
Если такого значения k не существует, возвращается -1.- Параметры:
-
str— подстрока для поиска. -
fromIndex— индекс, с которого начинается поиск. - Возвращает:
- индекс последнего вхождения указанной подстроки при поиске в обратном направлении от указанного индекса или
-1, если таких вхождений нет.
reverse
public StringBuilder reverse()
char) непосредственно перед выполнением метода reverse. Тогда символ с индексом k в новой последовательности символов совпадает с символом с индексом n-k-1 в исходной последовательности символов. Обратите внимание, что операция обращения порядка может привести к появлению суррогатных пар, которые до операции представляли собой непарные младшие и старшие суррогаты. Например, при обращении строки "\uDC00\uD800" получается "\uD800\uDC00" — корректная суррогатная пара.
- Возвращает:
- ссылку на этот объект.
repeat
public StringBuilder repeat(int codePoint, int count)
count копий строкового представления аргумента codePoint. Длина этой последовательности увеличивается на произведение count и длины строкового представления.
Обычно для кодовых точек используют выражения char. Например:
// insert 10 asterisks into the buffer
sb.repeat('*', 10);
- Параметры:
-
codePoint— кодовая точка для добавления -
count— количество копий - Возвращает:
- ссылку на этот объект.
- Исключения:
-
IllegalArgumentException— если указаннаяcodePointне является допустимой кодовой точкой Unicode или еслиcountотрицательно. - Начиная с версии:
- 21
repeat
public StringBuilder repeat(CharSequence cs, int count)
count копий указанного CharSequence cs. Длина этой последовательности увеличивается на произведение count и длины CharSequence.
Если cs равно null, к этой последовательности добавляются четыре символа "null".
Содержимое не определено, если CharSequence изменяется во время вызова метода или при доступе к CharSequence возникает исключение.
- Параметры:
-
cs— значение типаCharSequence -
count— количество копий - Возвращает:
- ссылку на этот объект.
- Исключения:
-
IllegalArgumentException— еслиcountотрицательно - Начиная с версии:
- 21
toString
public String toString()
String содержит последовательность символов, представленную в данный момент этим объектом. Последующие изменения этой последовательности не влияют на содержимое возвращаемого объекта String.- Определён в:
-
toStringв интерфейсеCharSequence - Возвращает:
- строковое представление этой последовательности символов.
length
public int length()
- Определён в:
-
lengthв интерфейсеCharSequence - Возвращает:
- длину последовательности символов, представленной в данный момент этим объектом
capacity
public int capacity()
- Возвращает:
- текущую ёмкость
ensureCapacity
public void ensureCapacity(int minimumCapacity)
- Значение аргумента
minimumCapacity. - Удвоенная старая ёмкость плюс
2.
minimumCapacity неположителен, этот метод не выполняет никаких действий и просто возвращает управление. Обратите внимание, что последующие операции с этим объектом могут уменьшить фактическую ёмкость ниже запрошенного здесь значения.- Параметры:
-
minimumCapacity— желаемая минимальная ёмкость.
trimToSize
public void trimToSize()
capacity(), но это не гарантируется.setLength
public void setLength(int newLength)
newLength, символ с индексом k в новой последовательности символов совпадает с символом с индексом k в старой последовательности, если k меньше длины старой последовательности символов; в противном случае это нулевой символ '\u0000'. Иными словами, если аргумент newLength меньше текущей длины, длина устанавливается в указанное значение. Если аргумент newLength больше или равен текущей длине, добавляется достаточное количество нулевых символов ('\u0000'), чтобы длина стала равна значению аргумента newLength.
Аргумент newLength должен быть больше или равен 0.
- Параметры:
-
newLength— новая длина - Исключения:
-
IndexOutOfBoundsException— если аргументnewLengthотрицателен.
charAt
public char charAt(int index)
char в этой последовательности по указанному индексу. Первое значение char находится по индексу 0, следующее — по индексу 1 и так далее, как при индексировании массива. Аргумент index должен быть больше или равен 0 и меньше длины этой последовательности.
Если значение char, заданное индексом, является суррогатом, возвращается значение суррогата.
- Определён в:
-
charAtв интерфейсеCharSequence - Параметры:
-
index— индекс требуемого значенияchar. - Возвращает:
- значение
charпо указанному индексу. - Исключения:
-
IndexOutOfBoundsException— еслиindexотрицательно или больше либо равноlength().
codePointAt
public int codePointAt(int index)
char (кодовые единицы Unicode) и находится в диапазоне от 0 до CharSequence.length() - 1. Если значение char по указанному индексу находится в диапазоне старших суррогатов, следующий индекс меньше длины этой последовательности, а значение char по следующему индексу находится в диапазоне младших суррогатов, возвращается дополнительная кодовая точка, соответствующая этой суррогатной паре. В противном случае возвращается значение char по указанному индексу.
- Параметры:
-
index— индекс значенияchar - Возвращает:
- значение кодовой точки символа по индексу
index - Исключения:
-
IndexOutOfBoundsException— если аргументindexотрицателен или не меньше длины этой последовательности.
codePointBefore
public int codePointBefore(int index)
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)
beginIndex и продолжается до char с индексом endIndex - 1. Таким образом, длина текстового диапазона (в char) равна endIndex-beginIndex. Каждый непарный суррогат в этой последовательности считается одной кодовой точкой.- Параметры:
-
beginIndex— индекс первогоcharтекстового диапазона. -
endIndex— индекс после последнегоcharтекстового диапазона. - Возвращает:
- количество кодовых точек Unicode в указанном текстовом диапазоне
- Исключения:
-
IndexOutOfBoundsException— еслиbeginIndexотрицательно,endIndexбольше длины этой последовательности илиbeginIndexбольшеendIndex.
offsetByCodePoints
public int offsetByCodePoints(int index, int codePointOffset)
index на codePointOffset кодовых точек. Каждый непарный суррогат в текстовом диапазоне, заданном index и codePointOffset, считается одной кодовой точкой.- Параметры:
-
index— индекс, который требуется сместить -
codePointOffset— смещение в кодовых точках - Возвращает:
- индекс в этой последовательности
- Исключения:
-
IndexOutOfBoundsException— еслиindexотрицательно или больше длины этой последовательности; еслиcodePointOffsetположительно, а в подпоследовательности, начинающейся сindex, меньшеcodePointOffsetкодовых точек; либо еслиcodePointOffsetотрицательно, а в подпоследовательности передindexменьше кодовых точек, чем абсолютное значениеcodePointOffset.
getChars
public void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)
srcBegin, последний копируемый символ — по индексу srcEnd-1. Общее количество копируемых символов равно srcEnd-srcBegin. Символы копируются в подмассив dst, начинающийся с индекса dstBegin и заканчивающийся индексом: dstbegin + (srcEnd-srcBegin) - 1
- Определён в:
-
getCharsв интерфейсеCharSequence - Параметры:
-
srcBegin— начать копирование с этого смещения. -
srcEnd— завершить копирование на этом смещении. -
dst— массив, в который копируются данные. -
dstBegin— смещение вdst.
setCharAt
public void setCharAt(int index, char ch)
ch. Эта последовательность изменяется и представляет новую последовательность символов, идентичную исходной, за исключением того, что в ней содержится символ ch в позиции index. Аргумент index должен быть больше или равен 0 и меньше длины этой последовательности.
- Параметры:
-
index— индекс изменяемого символа. -
ch— новый символ. - Исключения:
-
IndexOutOfBoundsException— еслиindexотрицательно или больше либо равноlength().
substring
public String substring(int start)
String, содержащее подпоследовательность символов, которая в данный момент входит в эту последовательность символов. Подстрока начинается с указанного индекса и продолжается до конца этой последовательности.- Параметры:
-
start— начальный индекс включительно. - Возвращает:
- строку, содержащую указанную подпоследовательность символов.
- Исключения:
-
StringIndexOutOfBoundsException— еслиstartменьше нуля или больше длины этого объекта.
subSequence
public CharSequence subSequence(int start, int end)
Вызов этого метода вида
sb.subSequence(begin, end) действует точно так же, как вызов sb.substring(begin, end) Этот метод предоставлен для того, чтобы этот класс мог реализовать интерфейс CharSequence.- Определён в:
-
subSequenceв интерфейсеCharSequence - Параметры:
-
start— начальный индекс включительно. -
end— конечный индекс исключительно. - Возвращает:
- указанную подпоследовательность.
- Исключения:
-
IndexOutOfBoundsException— еслиstartилиendотрицательны, еслиendбольшеlength()или еслиstartбольшеend
substring
public String substring(int start, int end)
String, содержащее подпоследовательность символов, которая в данный момент входит в эту последовательность. Подстрока начинается с указанного start и продолжается до символа с индексом end - 1.- Параметры:
-
start— начальный индекс включительно. -
end— конечный индекс исключительно. - Возвращает:
- строку, содержащую указанную подпоследовательность символов.
- Исключения:
-
StringIndexOutOfBoundsException— еслиstartилиendотрицательны или большеlength()либо еслиstartбольшеend.
chars
public IntStream chars()
int, расширяющий значения char из этой последовательности нулями. Любой символ char, соответствующий суррогатной кодовой точке, передаётся без интерпретации. Поток связывается с этой последовательностью при запуске терминальной операции потока (в частности, для изменяемых последовательностей сплитератор потока использует позднее связывание). Если во время этой операции последовательность изменяется, результат не определён.
- Определён в:
-
charsв интерфейсеCharSequence - Возвращает:
- IntStream со значениями char из этой последовательности
- Начиная с версии:
- 9
codePoints
public IntStream codePoints()
int, которые затем передаются в поток. Поток связывается с этой последовательностью при запуске терминальной операции потока (в частности, для изменяемых последовательностей сплитератор потока использует позднее связывание). Если во время этой операции последовательность изменяется, результат не определён.
- Определён в:
-
codePointsв интерфейсеCharSequence - Возвращает:
- IntStream с кодовыми точками Unicode из этой последовательности
- Начиная с версии:
- 9
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/StringBuilder.html