Класс 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) | Создает строковый буфер без символов и начальной емкостью, заданной аргументом |
StringBuilder(CharSequence seq) | Создает строковый буфер, содержащий те же символы, что и указанный |
StringBuilder(String str) | Создает строковый буфер, инициализированный содержимым указанной строки. |
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
StringBuilder | append(boolean b) | Добавляет строковое представление аргумента |
StringBuilder | append(char c) | Добавляет строковое представление аргумента |
StringBuilder | append(char[] str) | Добавляет строковое представление аргумента массива |
StringBuilder | append(char[] str,
int offset,
int len) | Добавляет строковое представление подмассива аргумента массива |
StringBuilder | append(double d) | Добавляет строковое представление аргумента |
StringBuilder | append(float f) | Добавляет строковое представление аргумента |
StringBuilder | append(int i) | Добавляет строковое представление аргумента |
StringBuilder | append(long lng) | Добавляет строковое представление аргумента |
StringBuilder | append(CharSequence s) | Добавляет указанную последовательность символов в эту |
StringBuilder | append(CharSequence s,
int start,
int end) | Добавляет подпоследовательность указанного |
StringBuilder | append(Object obj) | Добавляет строковое представление аргумента |
StringBuilder | append(String str) | Добавляет указанную строку в эту последовательность символов. |
StringBuilder | append(StringBuffer sb) | Добавляет указанное |
StringBuilder | appendCodePoint(int codePoint) | Добавляет строковое представление аргумента |
int | capacity() | Возвращает текущую емкость. |
char | charAt(int index) | Возвращает значение |
IntStream | chars() | Возвращает поток |
int | codePointAt(int index) | Возвращает символ (кодовую точку Юникода) по указанному индексу. |
int | codePointBefore(int index) | Возвращает символ (кодовую точку Юникода) перед указанным индексом. |
int | codePointCount(int beginIndex,
int endIndex) | Возвращает количество кодовых точек Юникода в заданном диапазоне текста этой последовательности. |
IntStream | codePoints() | Возвращает поток значений кодовых точек из этой последовательности. |
int | compareTo(StringBuilder another) | Сравнивает два экземпляра |
StringBuilder | delete(int start,
int end) | Удаляет символы в подстроке этой последовательности. |
StringBuilder | deleteCharAt(int index) | Удаляет |
void | ensureCapacity(int minimumCapacity) | Обеспечивает, чтобы емкость была по крайней мере равна указанному минимуму. |
void | getChars(int srcBegin,
int srcEnd,
char[] dst,
int dstBegin) | Символы копируются из этой последовательности в целевой массив символов |
int | indexOf(String str) | Возвращает индекс в этой строке первого вхождения указанной подстроки. |
int | indexOf(String str,
int fromIndex) | Возвращает индекс в этой строке первого вхождения указанной подстроки, начиная с указанного индекса. |
StringBuilder | insert(int offset,
boolean b) | Вставляет строковое представление аргумента |
StringBuilder | insert(int offset,
char c) | Вставляет строковое представление аргумента |
StringBuilder | insert(int offset,
char[] str) | Вставляет строковое представление аргумента массива |
StringBuilder | insert(int index,
char[] str,
int offset,
int len) | Вставляет строковое представление подмассива аргумента массива |
StringBuilder | insert(int offset,
double d) | Вставляет строковое представление аргумента |
StringBuilder | insert(int offset,
float f) | Вставляет строковое представление аргумента |
StringBuilder | insert(int offset,
int i) | Вставляет строковое представление второго аргумента |
StringBuilder | insert(int offset,
long l) | Вставляет строковое представление аргумента |
StringBuilder | insert(int dstOffset,
CharSequence s) | Вставляет указанное |
StringBuilder | insert(int dstOffset,
CharSequence s,
int start,
int end) | Вставляет подпоследовательность указанного |
StringBuilder | insert(int offset,
Object obj) | Вставляет строковое представление аргумента |
StringBuilder | insert(int offset,
String str) | Вставляет строку в эту последовательность символов. |
int | lastIndexOf(String str) | Возвращает индекс в этой строке последнего вхождения указанной подстроки. |
int | lastIndexOf(String str,
int fromIndex) | Возвращает индекс в этой строке последнего вхождения указанной подстроки, выполняя поиск назад, начиная с указанного индекса. |
int | length() | Возвращает длину (количество символов). |
int | offsetByCodePoints(int index,
int codePointOffset) | Возвращает индекс в этой последовательности, смещенный от заданного |
StringBuilder | replace(int start,
int end,
String str) | Заменяет символы в подстроке этой последовательности символами в указанном |
StringBuilder | reverse() | Заставляет эту последовательность символов быть заменена обратной последовательностью. |
void | setCharAt(int index,
char ch) | Символ по указанному индексу устанавливается в |
void | setLength(int newLength) | Устанавливает длину последовательности символов. |
CharSequence | subSequence(int start,
int end) | Возвращает новую последовательность символов, которая является подпоследовательностью этой последовательности. |
String | substring(int start) | Возвращает новую |
String | substring(int start,
int end) | Возвращает новую |
void | trimToSize() | Попытка сократить используемое хранилище для последовательности символов. |
Методы, объявленные в классе java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait Методы, объявленные в интерфейсе java.lang.CharSequence
charAt, chars, codePoints, length, subSequence, toString Конструкторы
StringBuilder
public StringBuilder()
Создаёт строковый буфер без символов и начальной ёмкостью 16 символов.
StringBuilder
public StringBuilder(int capacity)
Создаёт строковый буфер без символов и начальной ёмкостью, заданной аргументом capacity.
- Параметры:
-
capacity- начальная ёмкость. - Исключения:
-
NegativeArraySizeException- если аргументcapacityменьше0.
StringBuilder
public StringBuilder(String str)
Создаёт строковый буфер, инициализированный содержимым указанной строки. Начальная ёмкость строкового буфера равна 16 плюс длина аргумента строки.
- Параметры:
-
str- начальное содержимое буфера.
StringBuilder
public StringBuilder(CharSequence seq)
Создаёт строковый буфер, содержащий те же символы, что и указанный CharSequence. Начальная ёмкость строкового буфера равна 16 плюс длина аргумента CharSequence.
- Параметры:
-
seq- последовательность для копирования.
Методы
compareTo
public int compareTo(StringBuilder another)
Сравнивает два StringBuilder объекта лексикографически. Этот метод следует тем же правилам лексикографического сравнения, что и метод CharSequence.compare(this, another).
Для более тонкого, чувствительного к региону сравнения строк, обратитесь к Collator.
- Определено в:
-
compareToв интерфейсеComparable<StringBuilder> - Параметры:
-
another-StringBuilderдля сравнения - Возвращает:
- значение
0, если этотStringBuilderсодержит ту же последовательность символов, что и аргументStringBuilder; отрицательное целое число, если этотStringBuilderлексикографически меньше аргументаStringBuilder; или положительное целое число, если этотStringBuilderлексикографически больше аргументаStringBuilder. - С:
- 11
append
public StringBuilder append(Object obj)
Добавляет строковое представление аргумента Object.
Общий эффект точно такой же, как если бы аргумент был преобразован в строку методом String.valueOf(Object), а затем символы этой строки были добавлены appended к этой последовательности символов.
- Параметры:
-
obj- объектObject. - Возвращает:
- ссылку на этот объект.
append
public StringBuilder append(String str)
Добавляет указанную строку к этой последовательности символов.
Символы аргумента String добавляются по порядку, увеличивая длину этой последовательности на длину аргумента. Если str равно null, то добавляются четыре символа "null".
Пусть n — длина этой последовательности символов непосредственно перед выполнением метода append. Тогда символ с индексом k в новой последовательности символов равен символу с индексом k в старой последовательности символов, если k меньше n; в противном случае он равен символу с индексом k-n в аргументе str.
- Параметры:
-
str- строка. - Возвращает:
- ссылку на этот объект.
append
public StringBuilder append(StringBuffer sb)
Добавляет указанную StringBuffer к этой последовательности.
Символы аргумента StringBuffer добавляются по порядку в эту последовательность, увеличивая длину этой последовательности на длину аргумента. Если sb равно null, то к этой последовательности добавляются четыре символа "null".
Пусть n — длина этой последовательности символов непосредственно перед выполнением метода append. Тогда символ с индексом k в новой последовательности символов равен символу с индексом k в старой последовательности символов, если k меньше n; в противном случае он равен символу с индексом k-n в аргументе sb.
- Параметры:
-
sb-StringBufferдля добавления. - Возвращает:
- ссылку на этот объект.
append
public StringBuilder append(CharSequence s)
Описание скопировано из интерфейса: Appendable
Добавляет указанную последовательность символов к этому Appendable.
В зависимости от класса, реализующего последовательность символов csq, вся последовательность может не быть добавлена. Например, если csq является CharBuffer, то подпоследовательность для добавления определяется позицией и пределом буфера.
- Определено в:
-
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".
- Определено в:
-
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.
- Parameters:
-
f- afloat. - Returns:
- ссылка на этот объект.
append
public StringBuilder append(double d)
Добавляет строковое представление аргумента double в эту последовательность.
Общий эффект точно такой же, как если бы аргумент был преобразован в строку методом String.valueOf(double), а затем символы этой строки были добавлены к этой последовательности символов с помощью метода appended.
- Parameters:
-
d- adouble. - 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- если индекс отрицательный или больше или равен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) Вставляет строковое представление подмассива аргумента массива символов в эту последовательность. Подмассив начинается с указанного offset и охватывает len charы. Символы подмассива вставляются в эту последовательность по позиции, указанной в index. Длина этой последовательности увеличивается на len charы.
- Parameters:
-
index- позиция для вставки подмассива. -
str- Массив символов. -
offset- индекс первого символа в подмассиве для вставки. -
len- количество символов в подмассиве для вставки. - 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- объект. - 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- если смещение некорректно.
insert
public StringBuilder insert(int offset,
char[] str) Вставляет строковое представление аргумента массива символов в эту последовательность.
Символы аргумента массива вставляются в содержимое этой последовательности в позиции, указанной в offset. Длина этой последовательности увеличивается на длину аргумента.
Общий эффект точно такой же, как если бы второй аргумент был преобразован в строку методом String.valueOf(char[]), а затем символы этой строки были вставлены в эту последовательность символов по указанному смещению с помощью метода inserted.
Аргумент offset должен быть больше или равен 0, и меньше или равен длине этой последовательности.
- Parameters:
-
offset- смещение. -
str- массив символов. - Returns:
- ссылка на этот объект.
- Throws:
-
StringIndexOutOfBoundsException- если смещение некорректно.
insert
public StringBuilder insert(int dstOffset,
CharSequence s) Вставляет указанную последовательность символов в эту последовательность.
Символы аргумента CharSequence вставляются в порядке, указанном в этой последовательности по указанному смещению, перемещая все символы, которые были над этой позицией, и увеличивая длину этой последовательности на длину аргумента s.
Результат этого метода точно такой же, как если бы это был вызов метода insert(dstOffset, s, 0, s.length()) этого объекта.
Если s равно null, то вставляются четыре символа "null".
- Parameters:
-
dstOffset- смещение. -
s- последовательность символов для вставки - Returns:
- ссылка на этот объект.
- Throws:
-
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, и меньше или равен длине этой последовательности.
Начальный аргумент должен быть неотрицательным и не больше end.
Конечный аргумент должен быть больше или равен start, и меньше или равен длине s.
Если s равно null, то этот метод вставляет символы так, как если бы параметр s был последовательностью, содержащей четыре символа "null".
- Параметры:
-
dstOffset- смещение в этой последовательности. -
s- последовательность для вставки. -
start- начальный индекс подпоследовательности для вставки. -
end- конечный индекс подпоследовательности для вставки. - Возвращает:
- ссылку на этот объект.
- Исключения:
-
IndexOutOfBoundsException- еслиdstOffsetотрицателен или большеthis.length(), илиstartилиendотрицательны, илиstartбольшеendилиendбольшеs.length()
insert
public StringBuilder insert(int offset,
boolean b) Вставляет строковое представление аргумента boolean в эту последовательность.
Общий эффект точно такой же, как если бы второй аргумент был преобразован в строку методом String.valueOf(boolean), и символы этой строки были затем inserted в эту последовательность символов в указанном смещении.
Аргумент offset должен быть больше или равен 0, и меньше или равен длине этой последовательности.
- Параметры:
-
offset- смещение. -
b-boolean. - Возвращает:
- ссылку на этот объект.
- Исключения:
-
StringIndexOutOfBoundsException- если смещение неверно.
insert
public StringBuilder insert(int offset,
char c) Вставляет строковое представление аргумента char в эту последовательность.
Общий эффект точно такой же, как если бы второй аргумент был преобразован в строку методом String.valueOf(char), и символ в этой строке был затем inserted в эту последовательность символов в указанном смещении.
Аргумент offset должен быть больше или равен 0, и меньше или равен длине этой последовательности.
- Параметры:
-
offset- смещение. -
c-char. - Возвращает:
- ссылку на этот объект.
- Исключения:
-
IndexOutOfBoundsException- если смещение неверно.
insert
public StringBuilder insert(int offset,
int i) Вставляет строковое представление второго аргумента int в эту последовательность.
Общий эффект точно такой же, как если бы второй аргумент был преобразован в строку методом String.valueOf(int), и символы этой строки были затем inserted в эту последовательность символов в указанном смещении.
Аргумент offset должен быть больше или равен 0, и меньше или равен длине этой последовательности.
- Параметры:
-
offset- смещение. -
i-int. - Возвращает:
- ссылку на этот объект.
- Исключения:
-
StringIndexOutOfBoundsException- если смещение неверно.
insert
public StringBuilder insert(int offset,
long l) Вставляет строковое представление аргумента long в эту последовательность.
Общий эффект точно такой же, как если бы второй аргумент был преобразован в строку методом String.valueOf(long), и символы этой строки были затем inserted в эту последовательность символов в указанном смещении.
Аргумент offset должен быть больше или равен 0, и меньше или равен длине этой последовательности.
- Параметры:
-
offset- смещение. -
l-long. - Возвращает:
- ссылку на этот объект.
- Исключения:
-
StringIndexOutOfBoundsException- если смещение неверно.
insert
public StringBuilder insert(int offset,
float f) Вставляет строковое представление аргумента float в эту последовательность.
Общий эффект точно такой же, как если бы второй аргумент был преобразован в строку методом String.valueOf(float), и символы этой строки были затем inserted в эту последовательность символов в указанном смещении.
Аргумент offset должен быть больше или равен 0, и меньше или равен длине этой последовательности.
- Параметры:
-
offset- смещение. -
f-float. - Возвращает:
- ссылку на этот объект.
- Исключения:
-
StringIndexOutOfBoundsException- если смещение неверно.
insert
public StringBuilder insert(int offset,
double d) Вставляет строковое представление аргумента double в эту последовательность.
Общий эффект точно такой же, как если бы второй аргумент был преобразован в строку методом String.valueOf(double), и символы этой строки были затем inserted в эту последовательность символов в указанном смещении.
Аргумент offset должен быть больше или равен 0, и меньше или равен длине этой последовательности.
- Параметры:
-
offset- смещение. -
d-double. - Возвращает:
- ссылку на этот объект.
- Исключения:
-
StringIndexOutOfBoundsException- если смещение неверно.
indexOf
public int indexOf(String str)
Возвращает индекс в этой строке первого вхождения указанной подстроки.
Возвращаемый индекс - это наименьшее значение k для которого:
this.toString().startsWith(str, k)Если такого значения
k не существует, то возвращается -1.- Параметры:
-
str- подстрока для поиска. - Возвращает:
- индекс первого вхождения указанной подстроки, или
-1, если такого вхождения нет.
indexOf
public int indexOf(String str,
int fromIndex) Возвращает индекс в этой строке первого вхождения указанной подстроки, начиная с указанного индекса.
Возвращаемый индекс - это наименьшее значение k для которого:
k >= Math.min(fromIndex, this.length()) &&
this.toString().startsWith(str, k) Если такого значения k не существует, то возвращается -1.- Параметры:
-
str- подстрока для поиска. -
fromIndex- индекс, с которого следует начать поиск. - Возвращает:
- индекс первого вхождения указанной подстроки, начиная с указанного индекса, или
-1, если такого вхождения нет.
lastIndexOf
public int lastIndexOf(String str)
Возвращает индекс в этой строке последнего вхождения указанной подстроки. Последнее вхождение пустой строки "" считается происходящим по значению индекса this.length().
Возвращаемый индекс - это наибольшее значение k для которого:
this.toString().startsWith(str, k)Если такого значения
k не существует, то возвращается -1.- Параметры:
-
str- подстрока для поиска. - Возвращает:
- индекс последнего вхождения указанной подстроки, или
-1, если такого вхождения нет.
lastIndexOf
public int lastIndexOf(String str,
int fromIndex) Возвращает индекс в этой строке последнего вхождения указанной подстроки, выполняя обратный поиск, начиная с указанного индекса.
Возвращаемый индекс - это наибольшее значение k для которого:
k <= Math.min(fromIndex, this.length()) &&
this.toString().startsWith(str, k) Если такого значения k не существует, то возвращается -1.- Параметры:
-
str- подстрока для поиска. -
fromIndex- индекс, с которого следует начать поиск. - Возвращает:
- индекс последнего вхождения указанной подстроки, выполняя обратный поиск с указанного индекса, или
-1, если такого вхождения нет.
reverse
public StringBuilder reverse()
Приводит эту последовательность символов к обратной последовательности. Если в последовательности есть пары суррогатов, они обрабатываются как отдельные символы при обратной операции. Таким образом, порядок старших и младших суррогатов никогда не меняется. Пусть n — длина этой последовательности символов (не длина в char значениях) непосредственно перед выполнением метода reverse. Тогда символ с индексом k в новой последовательности символов равен символу с индексом n-k-1 в старой последовательности символов.
Обратите внимание, что обратная операция может привести к созданию пар суррогатов, которые до операции были неспаренными младшими и старшими суррогатами. Например, обращение "\uDC00\uD800" приводит к "\uD800\uDC00", что является допустимой парой суррогатов.
- Возвращает:
- ссылку на этот объект.
длина
public int length()
Возвращает длину (количество символов).
- Определено в:
-
lengthв интерфейсеCharSequence - Возвращает:
- длину последовательности символов, в настоящее время представленных этим объектом
ёмкость
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)
Возвращает символ (кодовое значение Юникода) по указанному индексу. Индекс относится к char значениям (единицам кодирования Юникода) и изменяется от 0 до CharSequence.length() - 1.
Если значение char по заданному индексу находится в диапазоне старших суррогатов, следующий индекс меньше длины этой последовательности, и char значение по следующему индексу находится в диапазоне младших суррогатов, то возвращается дополнительное кодовое значение Юникода, соответствующее этой паре суррогатов. В противном случае возвращается char значение по заданному индексу.
- Параметры:
-
index- индекс кcharзначениям - Возвращает:
- значение кода символа по
index - Исключения:
-
IndexOutOfBoundsException- если аргументindexотрицателен или не меньше длины этой последовательности.
codePointBefore
public int codePointBefore(int index)
Возвращает символ (кодовое значение Юникода) перед указанным индексом. Индекс относится к char значениям (единицам кодирования Юникода) и изменяется от 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. Таким образом, длина (в chars) диапазона текста равна endIndex-beginIndex. Неспаренные суррогаты в этой последовательности считаются по одному символу Юникода.
- Параметры:
-
beginIndex- индекс первогоcharдиапазона текста. -
endIndex- индекс после последнегоcharдиапазона текста. - Возвращает:
- количество символов Юникода в заданном диапазоне текста
- Исключения:
-
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().
подстрока
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 значений из этой последовательности. Любой символ, отображающий суррогатную кодовую точку, передается без интерпретации.
Поток привязывается к этой последовательности, когда начинается терминальная операция потока (в частности, для изменяемых последовательностей разделитель для потока привязывается позднее). Если последовательность изменяется во время этой операции, результат неопределен.
- Определено в:
-
charsв интерфейсеCharSequence - Возвращает:
- IntStream значений char из этой последовательности
- С:
- 9
codePoints
public IntStream codePoints()
Возвращает поток значений кодовых точек из этой последовательности. Любые пары суррогатов, встречающиеся в последовательности, объединяются как в Character.toCodePoint, а результат передается в поток. Любые другие единицы кода, включая обычные символы BMP, непарные суррогаты и неопределенные единицы кода, расширяются нулями до int значений, которые затем передаются в поток.
Поток привязывается к этой последовательности, когда начинается терминальная операция потока (в частности, для изменяемых последовательностей разделитель для потока привязывается позднее). Если последовательность изменяется во время этой операции, результат неопределен.
- Определено в:
-
codePointsв интерфейсеCharSequence - Возвращает:
- IntStream значений кодовых точек Unicode из этой последовательности
- С:
- 9
© 1993, 2020, 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/11/docs/api/java.base/java/lang/StringBuilder.html