Класс StringBuilder
- java.lang.Object
-
- java.lang.StringBuilder
- Все реализованные интерфейсы:
- Serializable, Appendable, CharSequence
public final class StringBuilder extends Object implements Serializable, 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.
- С:
- 1.5
- См. также:
-
StringBuffer,String, Формат сериализации
Конструкторы
| Конструктор и описание |
|---|
StringBuilder() Конструирует строковый буфер без символов и начальной емкостью 16 символов. |
StringBuilder(CharSequence seq) Конструирует строковый буфер, содержащий те же символы, что и указанный |
StringBuilder(int capacity) Конструирует строковый буфер без символов и начальной емкостью, указанной аргументом |
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(CharSequence s) Добавляет указанную последовательность символов в эту |
StringBuilder |
append(CharSequence s,
int start,
int end) Добавляет подпоследовательность указанного |
StringBuilder |
append(double d) Добавляет строковое представление аргумента |
StringBuilder |
append(float f) Добавляет строковое представление аргумента |
StringBuilder |
append(int i) Добавляет строковое представление аргумента |
StringBuilder |
append(long lng) Добавляет строковое представление аргумента |
StringBuilder |
append(Object obj) Добавляет строковое представление аргумента |
StringBuilder |
append(String str) Добавляет указанную строку в эту последовательность символов. |
StringBuilder |
append(StringBuffer sb) Добавляет указанный |
StringBuilder |
appendCodePoint(int codePoint) Добавляет строковое представление аргумента |
int |
capacity() Возвращает текущую емкость. |
char |
charAt(int index) Возвращает значение |
int |
codePointAt(int index) Возвращает символ (код Юникода) по указанному индексу. |
int |
codePointBefore(int index) Возвращает символ (код Юникода) перед указанным индексом. |
int |
codePointCount(int beginIndex,
int endIndex) Возвращает количество символов Юникода в указанном диапазоне текста этой последовательности. |
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 dstOffset,
CharSequence s) Вставляет указанный |
StringBuilder |
insert(int dstOffset,
CharSequence s,
int start,
int end) Вставляет подпоследовательность указанного |
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 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) Возвращает новый |
String |
toString() Возвращает строку, представляющую данные в этой последовательности. |
void |
trimToSize() Попытка уменьшить используемое хранилище для последовательности символов. |
Методы, унаследованные от класса java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait Методы, унаследованные от интерфейса java.lang.CharSequence
charAt, chars, codePoints, length, subSequence Конструкторы
StringBuilder
public StringBuilder()
Создаёт объект StringBuilder без символов и начальной ёмкостью 16 символов.
StringBuilder
public StringBuilder(int capacity)
Создаёт объект StringBuilder без символов и начальной ёмкостью, заданной аргументом capacity.
- Параметры:
-
capacity- начальная ёмкость. - Исключения:
-
NegativeArraySizeException- если аргументcapacityменьше0.
StringBuilder
public StringBuilder(String str)
Создаёт объект StringBuilder, инициализированный содержимым указанной строки. Начальная ёмкость StringBuilder составляет 16 плюс длина аргумента строки.
- Параметры:
-
str- начальное содержимое буфера.
StringBuilder
public StringBuilder(CharSequence seq)
Создаёт объект StringBuilder, содержащий те же символы, что и указанная CharSequence. Начальная ёмкость StringBuilder составляет 16 плюс длина аргумента CharSequence.
- Параметры:
-
seq- последовательность для копирования.
Методы
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, то добавляются четыре символа"null"к этому Appendable. - Возвращает:
- Ссылка на этот
Appendable
append
public StringBuilder append(CharSequence s,
int start,
int end) Добавляет подпоследовательность указанной CharSequence к этой последовательности.
Символы аргумента s, начиная с индекса start, добавляются в порядке возрастания индекса к содержимому этой последовательности до (исключительно) индекса end. Длина этой последовательности увеличивается на значение end - start.
Пусть n — длина этой последовательности символов непосредственно перед выполнением метода append. Тогда символ с индексом k в этой последовательности символов становится равным символу с индексом k в этой последовательности, если k меньше n; в противном случае он равен символу с индексом k+start-n в аргументе s.
Если s равно null, этот метод добавляет символы так, как если бы параметр s был последовательностью, содержащей четыре символа "null".
- Определено в:
-
appendв интерфейсеAppendable - Параметры:
-
s- последовательность для добавления. -
start- начальный индекс подпоследовательности для добавления. -
end- конечный индекс подпоследовательности для добавления. - Возвращает:
- ссылку на этот объект.
- Исключения:
-
IndexOutOfBoundsException- еслиstartотрицательно, илиstartбольшеend, илиendбольшеs.length()
append
public StringBuilder append(char[] str)
Добавляет строковое представление аргумента массива char к этой последовательности.
Символы аргумента массива добавляются в порядке возрастания индекса к содержимому этой последовательности. Длина этой последовательности увеличивается на длину аргумента.
Общий эффект точно такой же, как если бы аргумент был преобразован в строку методом String.valueOf(char[]), а затем символы этой строки были добавлены к этой последовательности с помощью метода appended.
- Параметры:
-
str- символы, которые нужно добавить. - Возвращает:
- ссылку на этот объект.
append
public StringBuilder append(char[] str,
int offset,
int len) Добавляет строковое представление подмассива аргумента массива char к этой последовательности.
Символы массива char str, начиная с индекса offset, добавляются в порядке возрастания индекса к содержимому этой последовательности. Длина этой последовательности увеличивается на значение len.
Общий эффект точно такой же, как если бы аргументы были преобразованы в строку методом String.valueOf(char[],int,int), а затем символы этой строки были добавлены к этой последовательности с помощью метода appended.
- Параметры:
-
str- символы для добавления. -
offset- индекс первого символа для добавления. -
len- количество символов для добавления. - Возвращает:
- ссылку на этот объект.
- Исключения:
-
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- кодовая точка Unicode - Возвращает:
- ссылку на этот объект.
- С версии:
- 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 chars. Символы подмассива вставляются в эту последовательность в позицию, указанную index. Длина этой последовательности увеличивается на len chars.
- Параметры:
-
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()) этого объекта.
Если 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, и меньше или равен длине этой последовательности.
Начальный аргумент должен быть неотрицательным и не должен быть больше 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, <i>k</i>)есть
true. - Параметры:
-
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- индекс, с которого следует начать поиск. - Возвращает:
- индекс в этой строке первого вхождения указанной подстроки, начиная с указанного индекса.
lastIndexOf
public int lastIndexOf(String str)
Возвращает индекс в этой строке самого правого вхождения указанной подстроки. Самая правая пустая строка "" считается встречающейся с индексным значением this.length(). Возвращаемый индекс — это наибольшее значение k такое, что
this.toString().startsWith(str, k)истинно.
- Параметры:
-
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- индекс, с которого следует начать поиск. - Возвращает:
- индекс в этой последовательности последнего вхождения указанной подстроки.
reverse
public StringBuilder reverse()
Приводит к замене этой последовательности символов на обратную последовательность. Если в последовательности есть парные суррогаты, они обрабатываются как отдельные символы для операции обратного порядка. Таким образом, порядок высоких и низких суррогатов никогда не меняется. Пусть n — длина этой последовательности символов (не длина в char значениях) непосредственно перед выполнением метода reverse. Тогда символ с индексом k в новой последовательности символов равен символу с индексом n-k-1 в старой последовательности символов.
Обратите внимание, что операция обратного порядка может привести к созданию пар суррогатов, которые были непарными низкими и высокими суррогатами до операции. Например, обращение "\uDC00\uD800" даёт "\uD800\uDC00", что является допустимой парой суррогатов.
- Возвращает:
- ссылку на этот объект.
toString
public String toString()
Возвращает строку, представляющую данные в этой последовательности. Новый объект String выделяется и инициализируется последовательностью символов, в данный момент представленной этим объектом. Затем этот String возвращается. Последующие изменения в этой последовательности не влияют на содержимое String.
- Определено в:
-
toStringв интерфейсеCharSequence - Возвращает:
- строковое представление этой последовательности символов.
length
public int length()
Возвращает длину (количество символов).
- Определено в:
-
lengthв интерфейсеCharSequence - Возвращает:
- длину последовательности символов, в данный момент представленной этим объектом
capacity
public int capacity()
Возвращает текущую емкость. Емкость — это объем памяти, доступный для новых вставленных символов, после которого произойдёт выделение памяти.
- Возвращает:
- текущую емкость
ensureCapacity
public void ensureCapacity(int minimumCapacity)
Обеспечивает, что емкость не меньше указанного минимума. Если текущая емкость меньше аргумента, то выделяется новый внутренний массив с большей емкостью. Новая емкость — это большее из:
- Аргумента
minimumCapacity. - Удвоенной старой емкости, плюс
2.
minimumCapacity неположителен, этот метод не выполняет никаких действий и просто возвращает значение. Обратите внимание, что последующие операции с этим объектом могут уменьшить фактическую емкость ниже запрошенной здесь. - Параметры:
-
minimumCapacity- минимальная желаемая емкость.
trimToSize
public void trimToSize()
Попытка уменьшить используемое хранилище для последовательности символов. Если буфер больше, чем необходимо для хранения текущей последовательности символов, то он может быть изменён для повышения эффективности использования памяти. Вызов этого метода может, но не обязан, повлиять на значение, возвращаемое последующим вызовом метода capacity().
setLength
public void setLength(int newLength)
Устанавливает длину последовательности символов. Последовательность изменяется на новую последовательность символов, длина которой указана в аргументе. Для каждого неотрицательного индекса k, меньшего чем newLength, символ с индексом k в новой последовательности символов совпадает с символом с индексом k в старой последовательности, если k меньше длины старой последовательности символов; в противном случае это нулевой символ '\u0000'. Другими словами, если аргумент newLength меньше текущей длины, длина изменяется на указанную длину.
Если аргумент newLength больше или равен текущей длине, добавляются достаточное количество нулевых символов ('\u0000') для того, чтобы длина стала равной аргументу newLength.
Аргумент newLength должен быть больше или равен 0.
- Параметры:
-
newLength- новая длина - Исключения:
-
IndexOutOfBoundsException- если аргументnewLengthотрицательный.
charAt
public char charAt(int index)
Возвращает значение char в этой последовательности по указанному индексу. Первый char элемент находится по индексу 0, следующий — по индексу 1, и так далее, как при индексировании массива.
Аргумент индекса должен быть больше или равен 0, и меньше длины этой последовательности.
Если значение char, заданное индексом, является суррогатом, возвращается значение суррогата.
- Определено в:
-
charAtв интерфейсеCharSequence - Параметры:
-
index- индекс нужного значенияchar. - Возвращает:
- значение
charпо указанному индексу. - Исключения:
-
IndexOutOfBoundsException- еслиindexотрицательный или больше или равенlength().
codePointAt
public int codePointAt(int index)
Возвращает символ (код Юникода) по указанному индексу. Индекс относится к значениям char (единицам Юникода) и находится в диапазоне от 0 до length()- 1.
Если значение char по указанному индексу находится в диапазоне высоких суррогатов, следующий индекс меньше длины этой последовательности, и значение char по следующему индексу находится в диапазоне низких суррогатов, то возвращается дополнительный код, соответствующий этой паре суррогатов. В противном случае возвращается значение char по указанному индексу.
- Параметры:
-
index- индекс значенияchar - Возвращает:
- значение кода символа по указанному
index - Исключения:
-
IndexOutOfBoundsException- если аргументindexотрицательный или не меньше длины этой последовательности.
codePointBefore
public int codePointBefore(int index)
Возвращает символ (код Юникода) перед указанным индексом. Индекс относится к значениям char (единицам Юникода) и находится в диапазоне от 1 до length().
Если значение char по (index - 1) находится в диапазоне низких суррогатов, (index - 2) не отрицателен, и значение char по (index -
2) находится в диапазоне высоких суррогатов, то возвращается дополнительное значение кода пары суррогатов. Если значение char по index -
1 является непарным низким суррогатом или высоким суррогатом, возвращается значение суррогата.
- Параметры:
-
index- индекс, следующий за символом, который должен быть возвращён - Возвращает:
- значение кода Юникода перед заданным индексом.
- Исключения:
-
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().
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.
© 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.