- java.lang.Object
- java.lang.StringBuffer
- Все реализованные интерфейсы
Serializable,Appendable,CharSequence,Comparable<StringBuffer>
public final class StringBuffer extends Object implements Serializable, Comparable<StringBuffer>, CharSequence
Потокобезопасная изменяемая последовательность символов. Строковый буфер похож наStringно допускает изменение. В любой момент времени он содержит определённую последовательность символов. Длину и содержимое последовательности изменяют вызовы некоторых методов. Строковый буфер могут использовать несколько потоков. Эти методы синхронизируются при необходимости. Поэтому все операции над конкретным экземпляром ведут себя так, будто они выполняются в одном последовательном порядке. Этот порядок совпадает с порядком вызовов методов каждым отдельным потоком.StringBufferОсновные операции надappend和insertиappendОни перегружены и принимают данные любого типа. Каждый метод преобразует данные в строку. Затем он добавляет или вставляет символы этой строки в строковый буфер.insertМетод добавляет символы в указанную позицию.Например, если
zссылается на объект строкового буфера, текущее содержимое которого"start", то вызов методаz.append("le")приведёт к тому, что строковый буфер будет содержать"startle", аz.insert(4, "le")изменит строковый буфер так, что он будет содержать"starlet"。В общем случае, если кто-то ссылается на экземпляр
StringBuffer,然后sb.append(x)Имеет тот же эффектsb.insert(sb.length(), x)。Каждый раз, когда происходит операция с исходной последовательностью (например, добавление или вставка из исходной последовательности), этот класс синхронизируется только на строковом буфере, где выполняется операция, а не на источнике. Обратите внимание, хотя
StringBufferспроектирован для безопасного одновременного использования из нескольких потоков, но если конструктору илиappendилиinsertоперации передана исходная последовательность, разделяемая между потоками, вызывающий код должен обеспечить согласованное и неизменное представление исходной последовательности на время операции. Это достигается, если вызывающий удерживает блокировку на время вызова операции, использует неизменяемую исходную последовательность или не разделяет её между потоками.У каждого строкового буфера есть ёмкость. Пока длина последовательности символов в строковом буфере не превышает ёмкость, выделять новый внутренний массив буфера не нужно. Если внутренний буфер переполняется, он автоматически увеличивается.
Если не указано иное, передача
nullпараметра вnullконструктор или метод в приведёт к выбросуNullPointerExceptionПожалуйста, отправьте текст для перевода.Начиная с версии JDK 5, в этот класс добавили эквивалентный класс, предназначенный для одного потока.
StringBuilder。 Обычно приоритет отдают использованиюStringBuilderкласс, потому что он поддерживает все те же операции, но работает быстрее, так как не выполняет синхронизацию.- Примечание по API:
StringBuffer实现ComparableНо не перезаписываетequals。 Поэтому,StringBufferестественный порядок не согласован с equals. ЕслиStringBufferОбъект используется какStringBufferключи илиSortedMapэлементы в нём,SortedSet. См.Comparable,SortedMapилиSortedSetдля получения дополнительной информации. Начиная с версии: 1.0 См. также:StringBuilder,String, Serialized Form
-
-
构造方法摘要
构造方法 构造器 Описание StringBuffer()Создаёт строковый буфер без символов с начальной ёмкостью 16 символов.StringBuffer(int capacity)Создаёт строковый буфер без символов с указанной начальной ёмкостью.StringBuffer(CharSequence seq)Создаёт строковый буфер с символами, совпадающими с указаннымCharSequenceобъектом.StringBuffer(String str)Создаёт строковый буфер, инициализированный содержимым указанной строки.
-
方法摘要
Все методы Методы экземпляра Конкретные методы Тип и переменная Метод Описание StringBufferappend(boolean b)Добавляет строковое представление параметраbooleanк последовательности.StringBufferappend(char c)Добавляет строковое представление параметраcharк этой последовательности.StringBufferappend(char[] str)Добавляет строковое представление параметра-массиваcharк этой последовательности.StringBufferappend(char[] str, int offset, int len)Добавляет строковое представление подмассива параметра-массиваcharк этой последовательности.StringBufferappend(double d)Добавляет строковое представление параметраdoubleк этой последовательности.StringBufferappend(float f)Добавляет строковое представление параметраfloatк этой последовательности.StringBufferappend(int i)Добавляет строковое представление параметраintк этой последовательности.StringBufferappend(long lng)Добавляет строковое представление параметраlongк этой последовательности.StringBufferappend(CharSequence s)Добавляет указанныйCharSequence追加到此序列。StringBufferappend(CharSequence s, int start, int end)Добавляет указаннуюCharSequenceпоследовательность к этой последовательности.StringBufferappend(Object obj)Добавляет строковое представление параметраObject.StringBufferappend(String str)Добавляет указанную строку к этой символьной последовательности.StringBufferappend(StringBuffer sb)Добавляет указанныйStringBuffer追加到此序列。StringBufferappendCodePoint(int codePoint)Добавляет строковое представление параметраcodePointк этой последовательности.intcapacity()Возвращает текущую ёмкость.charcharAt(int index)Возвращает значениеchar值。IntStreamchars()Возвращает потокintс нулевым расширением значенийcharиз этой последовательности.intcodePointAt(int index)Возвращает символ (кодовую точку Unicode) по указанному индексу.intcodePointBefore(int index)Возвращает символ (кодовую точку Unicode) перед указанным индексом.intcodePointCount(int beginIndex, int endIndex)Возвращает количество кодовых точек Unicode в указанном диапазоне текста этой последовательности.IntStreamcodePoints()Возвращает поток значений кодовых точек из этой последовательности.intcompareTo(StringBuffer another)StringBufferСравнивает дваStringBufferэкземпляра в лексикографическом порядке.StringBufferdelete(int start, int end)Удаляет символы из подстроки этой последовательности.StringBufferdeleteCharAt(int index)Удаляет по указанной позиции в этом порядкеchar。voidensureCapacity(int minimumCapacity)Гарантирует, что ёмкость не меньше указанного минимального значения.voidgetChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)Копирует символы из этой последовательности в целевой массив символовdst。intindexOf(String str)Возвращает индекс первого вхождения указанной подстроки в строке.intindexOf(String str, int fromIndex)Возвращает индекс первого вхождения указанной подстроки в строке, начиная с указанного индекса.StringBufferinsert(int offset, boolean b)Вставляет строковое представление параметраbooleanв эту последовательность.StringBufferinsert(int offset, char c)Вставляет строковое представление параметраcharв эту последовательность.StringBufferinsert(int offset, char[] str)Вставляет строковое представление параметра массиваcharв эту последовательность.StringBufferinsert(int index, char[] str, int offset, int len)Вставляет строковое представление подмассива параметра массиваstrв эту последовательность.StringBufferinsert(int offset, double d)Вставляет строковое представление параметраdoubleв эту последовательность.StringBufferinsert(int offset, float f)Вставляет строковое представление параметраfloatв эту последовательность.StringBufferinsert(int offset, int i)Вставляет строковое представление второго параметраintв эту последовательность.StringBufferinsert(int offset, long l)Вставляет строковое представление параметраlongв эту последовательность.StringBufferinsert(int dstOffset, CharSequence s)Вставляет указанныйCharSequence插入此序列。StringBufferinsert(int dstOffset, CharSequence s, int start, int end)Вставляет указанную последовательностьCharSequenceв эту последовательность.StringBufferinsert(int offset, Object obj)Вставляет строковое представление параметраObjectв эту последовательность символов.StringBufferinsert(int offset, String str)Вставляет строку в эту последовательность символов.intlastIndexOf(String str)Возвращает индекс последнего вхождения указанной подстроки в строке.intlastIndexOf(String str, int fromIndex)Возвращает индекс последнего вхождения указанной подстроки в строке, поиск идёт назад от указанного индекса.intoffsetByCodePoints(int index, int codePointOffset)Возвращает индекс в этой последовательности, начиная с заданногоindexСмещениеcodePointOffsetкодовой точки.StringBufferreplace(int start, int end, String str)Заменяет символы в подстроке этой последовательностиStringуказанными символами.StringBufferreverse()Заменяет эту последовательность символов на обратную.voidsetCharAt(int index, char ch)Символ по указанному индексу устанавливается равнымch。voidsetLength(int newLength)Устанавливает длину последовательности символов.CharSequencesubSequence(int start, int end)Возвращает новую последовательность символов, которая является подпоследовательностью данной.Stringsubstring(int start)Возвращает новуюString, содержащую подпоследовательность символов, которая сейчас есть в этой последовательности.Stringsubstring(int start, int end)Возвращает новуюString, содержащую подпоследовательность символов, которая сейчас есть в этой последовательности.voidtrimToSize()Пытается уменьшить память, используемую для последовательности символов.-
声明方法的类 java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
声明方法的接口 java.lang.CharSequence
chars, codePoints, length, toString
-
-
-
-
构造方法详细信息
-
StringBuffer
public StringBuffer()
Создаёт строковый буфер без символов с начальной ёмкостью 16 символов.
-
StringBuffer
public StringBuffer(int capacity)
Создаёт строковый буфер без символов с указанной начальной ёмкостью.- Параметры
capacity- начальная ёмкость. ИсключенияNegativeArraySizeException- 如果capacityпараметр меньше0.
-
StringBuffer
public StringBuffer(String str)
Создаёт строковый буфер, инициализированный содержимым указанной строки. Начальная ёмкость строкового буфера равна16плюс длина строкового параметра.- Параметры
str- начальное содержимое буфера.
-
StringBuffer
public StringBuffer(CharSequence seq)
Создаёт строковый буфер с теми же символами, что и в указанномCharSequence. Начальная ёмкость строкового буфера равна16加上CharSequence. Если длина указанногоCharSequenceменьше или равна нулю, возвращается пустой буфер с ёмкостью16.- Параметры
seq- последовательность для копирования. Начиная с версии: 1.5
-
-
方法详细信息
-
compareTo
public int compareTo(StringBuffer another)
StringBufferСравнивает два экземпляраStringBufferв лексикографическом порядке. Этот метод следует тем же правилам лексикографического сравнения, что определены в методе CharSequence.compare(this, another). Для точного сравнения String с учётом региональных настроек см.- Определён в:
compareTo,界面Comparable<StringBuffer>- Примечание к реализации: этот метод синхронизируется на
this(текущем объекте), но не синхронизируется сthis StringBuffer, с которымStringBuffer anotherвыполняетсяthis StringBufferсравнение. Параметрыanother-StringBufferобъект для сравненияStringBuffer- Результат Значение
0如果此StringBufferсодержит ту же последовательность символов, что и аргументStringBuffer; если этотStringBufferлексикографически меньшеStringBuffer参数,StringBufferотрицательное целое число; если этотStringBufferлексикографически большеStringBuffer参数,StringBufferположительное целое число. Начиная с версии: 11
-
capacity
public int capacity()
Возвращает текущую ёмкость. Ёмкость — это объём памяти для новых вставляемых символов. При её превышении выполняется выделение памяти.- Результат Текущая ёмкость
-
ensureCapacity
public void ensureCapacity(int minimumCapacity)
Гарантирует, что ёмкость не меньше указанного минимума. Если текущая ёмкость меньше аргумента, выделяется новый внутренний массив большей ёмкости. Новая ёмкость — это большее из двух значений:minimumCapacityаргумент.- Удвоенная старая ёмкость плюс
2。
minimumCapacityаргумент не положительный, метод ничего не делает и просто возвращается. Обратите внимание, что последующие операции с этим объектом могут снизить фактическую ёмкость ниже запрошенной здесь.- Параметры
minimumCapacity- требуемая минимальная ёмкость.
-
trimToSize
public void trimToSize()
Пытается уменьшить память, используемую для последовательности символов. Если буфер больше необходимого для хранения текущей последовательности символов, его размер изменяют для экономии памяти. Вызов этого метода может, но не обязан, влиять на значение, возвращаемое последующими вызовами методаcapacity().- Начиная с версии: 1.5
-
setLength
public void setLength(int newLength)
Устанавливает длину последовательности символов. Последовательность изменяется на новую последовательность символов, длина которой задана параметром. Для каждого неотрицательного индекса k, который меньше длиныnewLengthновой последовательности, символ с индексом k в новой последовательности совпадает с символом с индексом k в старой последовательности, если k меньше исходной длины. Иначе это нулевой символ'\u0000'. Иными словами, еслиnewLengthпараметр меньше текущей длины, длина изменяется на указанную. ЕслиnewLengthпараметр больше или равен текущей длины, добавляется достаточное количество нулевых символов ('\u0000'), чтобы length стал равенnewLength参数。newLength参数必须大于或等于0。- Параметры
newLength- новая длина. ИсключенияIndexOutOfBoundsException- 如果newLengthпараметр отрицательный. Смотрите также:CharSequence.length()
-
charAt
public char charAt(int index)
Возвращает значениеcharв этой последовательности по указанному индексу. Первоеcharзначение находится по индексу0, следующее по индексу1и так далее, как в индексах массива. Параметр index должен быть больше или равен0и меньше длины этой последовательности.Если значение
charпо указанному индексу является surrogate, возвращается surrogate-значение.- Specified by:
charAtВ интерфейсеCharSequence- Параметры
index- индекс нужногоcharзначения. Результат: значениеcharпо указанному индексу. ИсключенияIndexOutOfBoundsException- 如果index为负数或大于或等于length(). Смотрите также:CharSequence.length()
-
codePointAt
public int codePointAt(int index)
Возвращает символ (кодовую точку Unicode) по указанному индексу. Индекс ссылается наcharзначения (кодовые единицы Unicode) в диапазоне от0доCharSequence.length()- 1. Если значениеcharпо данному индексу находится в диапазоне старших суррогатов, следующий индекс меньше длины этой последовательности, а значениеcharпо следующему индексу находится в диапазоне младших суррогатов, возвращается дополнительная кодовая точка, соответствующая этой суррогатной паре. Иначе возвращается значениеchar值。- Параметры
index-char值的索引- 结果
-
index处字符的代码点值 - 异常
-
IndexOutOfBoundsException- 如果index参数为负数或不小于此序列的长度。 - Начиная с версии: 1.5
-
codePointBefore
public int codePointBefore(int index)
Возвращает символ (кодовую точку Unicode) перед указанным индексом. Индекс ссылается наcharзначения (кодовые единицы Unicode) в диапазоне от1доCharSequence.length()。 Еслиchar在值(index - 1)находится в диапазоне низких суррогатов,(index - 2)не является отрицательным иchar在值(index - 2)находится в диапазоне высоких суррогатов, возвращается дополнительная кодовая точка суррогатной пары. Еслиchar在值index - 1является непарным низким или высоким суррогатом, возвращается указанное замещающее значение.- Параметры
index- индекс, после которого возвращается кодовая точка. Результат: значение кодовой точки Unicode перед заданным индексом. ИсключенияIndexOutOfBoundsException- 如果indexпараметр меньше 1 или больше длины этой последовательности. Начиная с версии: 1.5
-
codePointCount
public int codePointCount(int beginIndex, int endIndex)Возвращает количество кодовых точек Unicode в указанном текстовом диапазоне этой последовательности. Текстовый диапазон начинается с указанногоbeginIndexи продолжается доchar在索引endIndex - 1. Поэтому длина текстового диапазона (вchars) равнаendIndex-beginIndex. Непарные суррогаты в этой последовательности считаются за одну кодовую точку каждый.- Параметры
beginIndex- Индекс первогоcharэлемента текстового диапазона.endIndex- Индекс после последнегоcharэлемента текстового диапазона. Результат: количество кодовых точек Unicode в указанном текстовом диапазоне. ИсключенияIndexOutOfBoundsException- 如果beginIndexотрицательно, илиendIndexбольше длины этой последовательности, илиbeginIndex大于endIndex. Начиная с версии: 1.5
-
offsetByCodePoints
public int offsetByCodePoints(int index, int codePointOffset)Возвращает индекс в этой последовательности, смещённый от заданногоindex偏移codePointOffsetв кодовых точках.index和codePointOffsetнепарные суррогаты в заданном диапазоне текста считаются за одну кодовую точку каждый.- Параметры
index- индекс, от которого выполняется смещениеcodePointOffset- смещение в кодовых точках. Результат: индекс в этой последовательности. ИсключенияIndexOutOfBoundsException- 如果indexотрицательно или больше длины этой последовательности, или еслиcodePointOffsetположительно и подпоследовательность отindexсодержит меньшеcodePointOffsetкодовых точек, или еслиcodePointOffset,或者codePointOffsetсодержит меньше кодовых точек, чем абсолютное значениеindexкодовых точек. Начиная с версии: 1.5index小于绝对值的绝对值codePointOffset代码点。- Начиная с версии: 1.5
-
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. Параметр index должен быть больше или равен0и меньше длины этой последовательности.- Параметры
index- индекс изменяемого символа.ch- новый символ. ИсключенияIndexOutOfBoundsException- 如果index为负数或大于或等于length(). Смотрите также:CharSequence.length()
-
append
public StringBuffer append(Object obj)
Добавляет строковое представление параметраObject. Общий эффект полностью совпадает с преобразованием параметра в строку методомString.valueOf(Object), после чего символы этой строкиappendedдобавляются к этой символьной последовательности.- Параметры
obj-Object. Результат: ссылка на этот объект.
-
append
public StringBuffer append(String str)
Добавляет указанную строку к этой символьной последовательности.StringСимволы параметра добавляются по порядку. Длина этой последовательности увеличивается на длину параметра. Еслиstr是null,则附加四个字符"null"。Пусть n — длина этой символьной последовательности до выполнения метода
append. Если k меньше n, то символ с индексом k в новой последовательности равен символу с индексом k в старой последовательности. Иначе он равен символу с индексом k-n в параметреstr.- Параметры
str- строка. Результат: ссылка на этот объект.
-
append
public StringBuffer append(StringBuffer sb)
Добавляет указанныйStringBufferк этой последовательности. Символы параметраStringBufferдобавляются по порядку. СодержимоеStringBufferувеличивает длинуStringBufferна длину параметра. Еслиsb是null, то четыре символа"null"будут добавлены к этойStringBuffer。Пусть n — длина старой последовательности символов, то есть длина последовательности символов,
append方法之前StringBufferметода. Если k меньше n, то символ с индексом k в новой последовательности символов равен символу с индексом k в старой последовательности символов. Иначе он равен символу с индексом k−n в аргументеsb.Этот метод синхронизируется по целевому объекту,
this同步,但不在源上同步(sb)。- Параметры
sb- 要追加的StringBuffer. Результат — ссылка на этот объект. Начиная с версии: 1.4
-
append
public StringBuffer append(CharSequence s)
Добавляет указаннуюCharSequenceк этой последовательности.CharSequenceСимволы аргумента добавляются по порядку, длина этой последовательности увеличивается на длину аргумента.Результат этого метода полностью совпадает с вызовом this.append(s, 0, s.length()).
Этот метод синхронизируется по целевому объекту,
this同步,但不在源上同步(s)。Если
s是null,则附加四个字符"null"。- Указано в:
append接口Appendable- Параметры
s- 要追加的CharSequence. Результат — ссылка на этот объект. Начиная с версии: 1.5
-
append
public StringBuffer append(CharSequence s, int start, int end)
Добавляет указаннуюCharSequenceпоследовательность к этой последовательности. Символы аргументаstart, начиная с индексаs, добавляются по порядку к содержимому этой последовательности до индекса (не включая его)end. Длина этой последовательности увеличивается на значениеend - start.Пусть n — длина этой последовательности символов до выполнения
appendметода. Тогда, если k меньше n, символ с индексом k в этой последовательности символов становится равным символу с индексом k в этой последовательности. Иначе он равенsс индексом k + start−n в аргументеs。Если
s是null,то этот метод добавляет символы так, как если бы параметр s был последовательностью из четырёх символов"null"的序列"null"。- Указано в:
append在接口Appendable- Параметры
s- добавляемая последовательность.start- начальный индекс добавляемой подпоследовательности.end- конечный индекс добавляемой подпоследовательности. Результат ссылка на этот объект. ИсключенияIndexOutOfBoundsException- 如果start为负数,或start大于endилиend大于s.length()- 从以下版本开始:
- 1.5
-
append
public StringBuffer append(char[] str)
Добавляетcharстроковое представление параметра-массива к этой последовательности. Символы параметра-массива добавляются по порядку к содержимому этой последовательности. Длина последовательности увеличивается на длину параметра.Общий эффект такой, как если бы параметр был преобразован в строку методом
String.valueOf(char[]), и затем символы этой строки были добавленыappendedк этой последовательности символов.- Параметры
str- добавляемые символы. Результат ссылка на этот объект.
-
append
public StringBuffer append(char[] str, int offset, int len)
Добавляетcharстроковое представление подмассива параметра-массива к этой последовательности. Символы массива, начиная с индексаoffset开始的char阵列strдобавляются по порядку к содержимому этой последовательности. Длина этой последовательности увеличивается наlen。Общий эффект такой, как если бы параметр был преобразован в строку методом
String.valueOf(char[],int,int), и затем символы этой строки были добавленыappendedк этой последовательности символов.- Параметры
str- добавляемые символы.offset- индекс первого добавляемогоchar.len- 要追加的chars. Результат ссылка на этот объект. ИсключенияIndexOutOfBoundsException- если этоoffset < 0илиlen < 0илиoffset+len > str.length
-
append
public StringBuffer append(boolean b)
тоbooleanстроковое представление аргумента добавляется к последовательности. Общий эффект полностью совпадает с тем, как методString.valueOf(boolean)преобразует аргумент в строку, а затем символы этой строкиappendedдобавляются к этой символьной последовательности.- Параметры
b- aboolean. Результат: ссылка на этот объект.
-
append
public StringBuffer append(char c)
добавляетcharстроковое представление аргумента к этой последовательности. Аргумент добавляется к содержимому этой последовательности. Длина этой последовательности увеличивается на1。Общий эффект полностью совпадает с методом
String.valueOf(char)который преобразует аргумент в строку, а затем символы этой строкиappended.- Указано в:
append在接口Appendable- Параметры
c- achar. Результат: ссылка на этот объект.
-
append
public StringBuffer append(int i)
добавляетintстроковое представление аргумента к этой последовательности. Общий эффект такой же, как при преобразовании аргумента в строку методомString.valueOf(int)после чего символы этой строкиappendedдобавляются к этой символьной последовательности.- Параметры
i-int. Результат: ссылка на этот объект.
-
appendCodePoint
public StringBuffer appendCodePoint(int codePoint)
добавляетcodePointстроковое представление аргумента к этой последовательности. Аргумент добавляется к содержимому этой последовательности. Длина последовательности увеличивается наCharacter.charCount(codePoint).Общий эффект полностью совпадает с преобразованием аргумента методом
Character.toChars(int)将参数转换为charпосле чего символы этого массиваappendedдобавляются к этой символьной последовательности.- Параметры
codePoint- кодовая точка Unicode. Результат: ссылка на этот объект. Начиная с версии: 1.5
-
append
public StringBuffer append(long lng)
Добавляетlongстроковое представление аргумента в эту последовательность. Общий эффект такой же, как при преобразовании аргумента в строку методомString.valueOf(long), после чего символы этой строки добавляются в этуappendedпоследовательность символов.- Параметры
lng- along. Результат: ссылка на этот объект.
-
append
public StringBuffer append(float f)
Добавляетfloatстроковое представление аргумента в эту последовательность. Общий эффект такой же, как при преобразовании аргумента в строку методомString.valueOf(float), после чего символы этой строки добавляются в этуappendedпоследовательность символов.- Параметры
f- afloat. Результат: ссылка на этот объект.
-
append
public StringBuffer append(double d)
Добавляетdoubleстроковое представление аргумента в эту последовательность. Общий эффект такой же, как при преобразовании аргумента в строку методомString.valueOf(double), после чего символы этой строкиappendedдобавляются в последовательность.- Параметры
d- adouble. Результат: ссылка на этот объект.
-
delete
public StringBuffer delete(int start, int end)
Удаляет символы из подстроки этой последовательности. Подстрока начинается с указанногоstartиндекса и расширяется до символа с индексомend - 1или до конца последовательности, если такого символа нет. Еслиstart等于endравно, изменения не вносятся.- Параметры
start- начальный индекс, включительно.end- конечный индекс, не включительно. Результат: этот объект. ИсключенияStringIndexOutOfBoundsException- 如果start为负数,大于length(),或大于end. Начиная с версии: 1.2
-
deleteCharAt
public StringBuffer deleteCharAt(int index)
Удаляет символ в указанной позиции в этой последовательностиchar。 Эта последовательностьcharсокращается. Примечание: если символ по заданному индексу является дополнительным символом, этот метод не удаляет весь символ. Если требуется корректная обработка дополнительных символов, определите количествоcharс помощью вызова deleteCharAtCharacter.charCount(thisSequence.codePointAt(index)),其中thisSequence— эта последовательность.- Параметры
index— номер индекса для удаленияchar- Результат: этот объект. Исключения
StringIndexOutOfBoundsException- 如果index为负数或大于或等于length()。 Доступно начиная с версии: 1.2
-
replace
public StringBuffer replace(int start, int end, String str)
Заменяет символы в подстроке этой последовательности с помощью указаннойStringстроки. Подстрока начинается с указанногоstartиндекса и расширяется до символа с индексомend - 1или до конца последовательности, если такого символа нет. Сначала символы подстроки удаляются, затем вStringпозицию вставляется указаннаяstartстрока. (При необходимости эта последовательность удлиняется, чтобы вместить указанную строку.)- Параметры
start- начальный индекс, включительно.end- Конечный индекс, не включается.str- Строка, которая заменит прежнее содержимое. Результат — этот объект. ИсключенияStringIndexOutOfBoundsException- 如果start为负数,大于length(),或大于end. Начиная с версии: 1.2
-
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Интерфейс.- Specified by:
subSequence,界面CharSequence- Параметры
start- Начальный индекс, включительно.end- Конечный индекс, не включается. Результат Указанная подпоследовательность. ИсключенияIndexOutOfBoundsException- 如果startилиendотрицательны, еслиend大于length(),或者start大于end- Начиная с версии: 1.4
-
substring
public String substring(int start, int end)
Возвращает новуюString, содержащую подпоследовательность символов, которая сейчас находится в этой последовательности. Подстрока начинается с указанногоstartи расширяется до символа с индексомend - 1.- Параметры
start- Начальный индекс, включительно.end- Конечный индекс, не включается. Результат Новая строка. ИсключенияStringIndexOutOfBoundsException- 如果startилиend为负数或大于length(),或start大于end. Начиная с версии: 1.2
-
insert
public StringBuffer insert(int index, char[] str, int offset, int len)
Вставляет строковое представление подмассива параметраstrмассива в эту последовательность. Подмассив начинается с указанногоoffsetи расширяется доlenchars. Символы подмассива вставляются в эту последовательность в позиции, указанной вindex. Длина последовательности увеличивается наlenchars.- Параметры
index- Позиция для вставки подмассива.str- Acharмассив.offset- Индекс первогоcharв подмассиве для вставки.len- Количествоchars в подмассиве для вставки. Результат Этот объект ИсключенияStringIndexOutOfBoundsException- 如果index为负数或大于length(),或offsetилиlen为负数,或(offset+len)大于str.length. Начиная с версии: 1.2
-
insert
public StringBuffer insert(int offset, Object obj)
Вставляет строковое представление параметраObjectв эту последовательность символов. Общий эффект полностью совпадает с преобразованием второго параметра в строку методомString.valueOf(Object), после чего символы этой строки вставляются в данную последовательность по указанному смещениюinserted.offset参数必须大于或等于0и меньше или равен length этой последовательности.- Параметры
offset- смещение.obj-Object. Результат: ссылка на этот объект. ИсключениеStringIndexOutOfBoundsException- если смещение недопустимо.
-
insert
public StringBuffer insert(int offset, String str)
Вставляет строку в эту последовательность символов.StringСимволы параметра вставляются в эту последовательность по порядку в указанном смещении. Символы, находившиеся выше этой позиции, сдвигаются вверх, а длина последовательности увеличивается на длину параметра. Еслиstr是null,则将四个字符"null"вставляются в эту последовательность.Символ новой последовательности с индексом k равен:
- символу старой последовательности с индексом k, если k меньше
offsetсимволу параметра - с индексом k
str, если k не меньше-offsetно меньшеoffset但小于offset+str.length() - , если k не меньше
-str.length()Параметр должен быть больше или равенoffset+str.length()
- - смещение.
offset- строка. Результат: ссылка на этот объект. Исключениеstr- если смещение недопустимо.StringIndexOutOfBoundsExceptioninsert
- символу старой последовательности с индексом k, если k меньше
-
insert
public StringBuffer insert(int offset, char[] str)
Метод вставляет строковое представлениеcharпараметра-массива в эту последовательность. Символы параметра-массива вставляются в содержимое последовательностиoffsetв указанной позиции. Длина последовательности увеличивается на длину параметра.Общий эффект полностью совпадает с тем,
String.valueOf(char[])как если бы второй параметр был преобразован в строку методом,insertedа затем символы этой строки вставлены в данную последовательность символов по указанному смещению.offset参数必须大于或等于0нулю и меньше или равен length этой последовательности.- Параметры
offset- смещение.str- Массив символов. Результат — ссылка на этот объект. ИсключенияStringIndexOutOfBoundsException- Если смещение недопустимо.
-
insert
public StringBuffer insert(int dstOffset, CharSequence s)
Вставляет указаннуюCharSequenceв эту последовательность.CharSequenceСимволы аргумента вставляются в эту последовательность по указанному смещению в заданном порядке. Символы, находившиеся выше этой позиции, сдвигаются вверх. Длина последовательности увеличивается на длину аргумента s.Результат этого метода полностью совпадает с вызовом метода
insert(dstOffset,s,0,s.length())этого объекта.Если
s是null,则将四个字符"null"вставляются в эту последовательность.- Параметры
dstOffset- смещение.s- вставляемая последовательность. Результат — ссылка на этот объект. ИсключенияIndexOutOfBoundsException- если смещение недопустимо. Начиная с версии: 1.5
-
insert
public StringBuffer insert(int dstOffset, CharSequence s, int start, int end)
Вставляет указаннуюCharSequenceпоследовательность в эту последовательность. Подпоследовательность параметраsопределяется заданнымиstart和endвставляются, чтобы сместить символы этой последовательности вверх от указанной позиции назначения. Длина последовательности увеличивается наend - start。Символ этой последовательности с индексом k становится равным:
- символу этой последовательности с индексом k, если k меньше
dstOffset, символу с индексом k - в аргументе
s, если k больше или равно+start-dstOffset, но меньшеdstOffset但小于dstOffset+end-start - Если k больше или равно
dstOffset+end-start, то символ с индексом k-(end-start)в этой последовательности
dstOffset参数必须大于或等于0и меньше или равен length этой последовательности.Параметр start должен быть неотрицательным и не больше
end。Параметр end должен быть больше или равен
startи меньше или равен длине s.Если
s是null, то этот метод вставляет символы так, как будто параметр s является последовательностью из четырёх символов"null"的序列"null"。- Параметры
dstOffset- смещение в этой последовательности.s- вставляемая последовательность.start- начальный индекс вставляемой подпоследовательности.end- конечный индекс вставляемой подпоследовательности. Результат ссылка на этот объект. ИсключенияIndexOutOfBoundsException- 如果dstOffset为负数或大于this.length(),或startилиend为负数,或start大于endилиend大于s.length()- 从以下版本开始:
- 1.5
- символу этой последовательности с индексом k, если k меньше
-
insert
public StringBuffer insert(int offset, boolean b)
Вставляет строковое представлениеbooleanпараметра в эту последовательность. Общий эффект полностью совпадает с тем, как если бы второй параметр был преобразован в строку методомString.valueOf(boolean), а затем символы этой строки вставляются в данную символьную последовательность по указанному смещениюinserted.offset参数必须大于或等于0и меньше или равен length этой последовательности.- Параметры
offset- смещение.b- aboolean. Результат ссылка на этот объект. ИсключенияStringIndexOutOfBoundsException- если смещение недопустимо.
-
insert
public StringBuffer insert(int offset, char c)
Метод вставляетcharстроковое представление параметра в эту последовательность. Общий эффект такой же, как при преобразовании второго параметра в строку методомString.valueOf(char), после чего символы этой строки вставляются в данную символьную последовательность по указанному смещениюinserted.offset参数必须大于或等于0и меньше или равен length этой последовательности.- Параметры
offset- смещение.c- acharРезультат: ссылка на этот объект. ИсключенияIndexOutOfBoundsException- Если смещение недействительно.
-
insert
public StringBuffer insert(int offset, int i)
Возьмите второй.intСтроковое представление параметра вставляется в эту последовательность. Общий результат такой же, как при использовании метода.String.valueOf(int)Второй параметр преобразуется в строку точно так же, затем символы этой строки вставляются в данную последовательность символов по указанному смещению.inserted。offset参数必须大于或等于0…и меньше или равно length этой последовательности.- Параметры
offset- Смещение.i-int。 Возвращает ссылку на этот объект. ИсключенияStringIndexOutOfBoundsException- Если смещение недопустимо.
-
insert
public StringBuffer insert(int offset, long l)
Вставляетlongстроковое представление аргумента в эту последовательность. Общий эффект такой же, как при преобразовании второго аргумента в строку методомString.valueOf(long), после чего символы этой строки вставляются в данную символьную последовательность по указанному смещениюinserted.offset参数必须大于或等于0и меньше или равно length этой последовательности.- Параметры
offset- offset.l- along. Результат — ссылка на этот объект. ИсключенияStringIndexOutOfBoundsException- если смещение недопустимо.
-
insert
public StringBuffer insert(int offset, float f)
Вставляет строковое представлениеfloatпараметра в эту последовательность. Общий эффект такой же, как при вызове методаString.valueOf(float)для преобразования второго параметра в строку, после чего символы этой строки вставляются в данную символьную последовательность по указанному смещению.inserted。offset参数必须大于或等于0и меньше или равен length этой последовательности.- Параметры
offset- смещение.f- afloat. Результат: ссылка на этот объект. ИсключениеStringIndexOutOfBoundsException- если смещение недопустимо.
-
insert
public StringBuffer insert(int offset, double d)
Вставляет строковое представлениеdoubleаргумента в эту последовательность. Общий эффект полностью совпадает с тем, как методString.valueOf(double)преобразует второй аргумент в строку, и символы этой строки вставляются в данную символьную последовательность по указанному смещениюinserted.offset参数必须大于或等于0и меньше или равен length этой последовательности.- Параметры
offset- смещение.d- adouble. Результат: ссылка на этот объект. ИсключениеStringIndexOutOfBoundsException- если смещение недопустимо.
-
indexOf
public int indexOf(String str)
Возвращает индекс первого вхождения указанной подстроки в строке. Возвращаемый индекс является минимальным значениемk,其中:Если такого значенияthis.toString().startsWith(str, k)k存在,那么-1返回。- Параметры
str- подстрока для поиска. Результат: индекс первого вхождения указанной подстроки, если такого случая нет,-1. Начиная с версии: 1.4
-
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. Начиная с версии: 1.4
-
lastIndexOf
public int lastIndexOf(String str)
Возвращает индекс последнего вхождения указанной подстроки в строке. Пустая строка "" при последнем вхождении считается находящейся по значению индексаthis.length(). Возвращаемый индекс является максимальным значениемk,其中:Если такого значенияthis.toString().startsWith(str, k)k存在,那么-1返回。- Параметры
str- искомая подстрока. Результат Индекс последнего вхождения указанной подстроки, если такого вхождения нет,-1. Начиная с версии: 1.4
-
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при поиске. Начиная с версии: 1.4
-
reverse
public StringBuffer reverse()
Заменяет эту последовательность символов на обратную. Если последовательность содержит суррогатные пары, они рассматриваются как отдельные символы при обращении. Поэтому порядок верхних и нижних суррогатов никогда не меняется. Пусть n — длина этой последовательности символов до выполненияreverseметода (не длина вcharзначении). Тогда символ с индексом k в новой последовательности равен символу с индексом n-k-1 в старой последовательности. Обратите внимание, что обращение может привести к образованию суррогатных пар из ранее несоставленных нижних и верхних суррогатов. Например, обращение "\uDC00\uD800" дает "\uD800\uDC00", что является допустимой суррогатной парой.- Результат Ссылка на этот объект. Начиная с версии: 1.0.2
-
chars
public IntStream chars()
Возвращаетintпоток со значением, расширенным нулем для каждогоcharзначения в этой последовательности. Любые символы, отображаемые в surrogate code point, не интерпретируются. При запуске терминальной потоковой операции поток привязывается к этой последовательности (в частности, для изменяемых последовательностей сплиттер потока является late-binding). Если последовательность изменяется во время операции, результат не определен.- Specified by:
chars在接口CharSequence- Результат IntStream значений char из этой последовательности. Начиная с версии: 9
-
codePoints
public IntStream codePoints()
Возвращает поток значений кодовых точек этой последовательности. Любые суррогатные пары в последовательности объединяются, как в Character.toCodePoint, и результат передается в поток. Любые другие кодовые единицы (включая обычные символы BMP, несоставленные суррогаты и неопределенные кодовые единицы) расширяются нулем доintзначения и передаются в поток. При запуске терминальной потоковой операции поток привязывается к этой последовательности (в частности, для изменяемых последовательностей сплиттер потока является late-binding). Если последовательность изменяется во время операции, результат не определен.- Specified by:
codePointsвCharSequence- Результат IntStream кодовых точек Unicode этой последовательности. Начиная с версии: 9
-
-