Класс 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 |
Возвращает символ (код Юникода) по указанному индексу. |
int |
codePointBefore |
Возвращает символ (код Юникода) перед указанным индексом. |
int |
codePointCount |
Возвращает количество кодовых точек Юникода в указанном текстовом диапазоне этой последовательности. |
IntStream |
codePoints() |
Возвращает поток значений кодовых точек из этой последовательности. |
int |
compareTo |
Сравнивает два экземпляра StringBuilder лексикографически. |
StringBuilder |
delete |
Удаляет символы в подстроке этой последовательности. |
StringBuilder |
deleteCharAt |
Удаляет char по указанной позиции в этой последовательности. |
void |
ensureCapacity |
Обеспечивает, что вместимость не меньше указанного минимума. |
void |
getChars |
Символы копируются из этой последовательности в целевой массив символов dst. |
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() |
Пытается уменьшить хранилище, используемое для последовательности символов. |
Методы, объявленные в классе 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()
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)
AppendableAppendable. В зависимости от класса, реализующего последовательность символов 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- achar. - Returns:
- ссылка на этот объект.
append
public StringBuilder append(int i)
int в эту последовательность. Общий эффект эквивалентен тому, как будто аргумент преобразуется в строку методом String.valueOf(int), а затем символы этой строки добавляются к этой последовательности символов с помощью appended.
- Parameters:
-
i- anint. - Returns:
- ссылка на этот объект.
append
public StringBuilder append(long lng)
long в эту последовательность. Общий эффект эквивалентен тому, как будто аргумент преобразуется в строку методом String.valueOf(long), а затем символы этой строки добавляются к этой последовательности символов с помощью appended.
- Parameters:
-
lng- along. - Returns:
- ссылка на этот объект.
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- если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- Achararray. -
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- anObject. - 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()
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)
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 значениям (кодовым единицам 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. Таким образом, длина (в 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()
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