模块  java.base
Пакет 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)
      Создаёт строковый буфер, инициализированный содержимым указанной строки.
    • 方法摘要

      Все методы Методы экземпляра Конкретные методы Тип и переменная Метод Описание
      StringBuffer append​(boolean b)
      Добавляет строковое представление параметраbooleanк последовательности.
      StringBuffer append​(char c)
      Добавляет строковое представление параметраcharк этой последовательности.
      StringBuffer append​(char[] str)
      Добавляет строковое представление параметра-массиваcharк этой последовательности.
      StringBuffer append​(char[] str, int offset, int len)
      Добавляет строковое представление подмассива параметра-массиваcharк этой последовательности.
      StringBuffer append​(double d)
      Добавляет строковое представление параметраdoubleк этой последовательности.
      StringBuffer append​(float f)
      Добавляет строковое представление параметраfloatк этой последовательности.
      StringBuffer append​(int i)
      Добавляет строковое представление параметраintк этой последовательности.
      StringBuffer append​(long lng)
      Добавляет строковое представление параметраlongк этой последовательности.
      StringBuffer append​(CharSequence s)
      Добавляет указанныйCharSequence追加到此序列。
      StringBuffer append​(CharSequence s, int start, int end)
      Добавляет указаннуюCharSequenceпоследовательность к этой последовательности.
      StringBuffer append​(Object obj)
      Добавляет строковое представление параметраObject.
      StringBuffer append​(String str)
      Добавляет указанную строку к этой символьной последовательности.
      StringBuffer append​(StringBuffer sb)
      Добавляет указанныйStringBuffer追加到此序列。
      StringBuffer appendCodePoint​(int codePoint)
      Добавляет строковое представление параметраcodePointк этой последовательности.
      int capacity()
      Возвращает текущую ёмкость.
      char charAt​(int index)
      Возвращает значениеchar值。
      IntStream chars()
      Возвращает потокintс нулевым расширением значений charиз этой последовательности.
      int codePointAt​(int index)
      Возвращает символ (кодовую точку Unicode) по указанному индексу.
      int codePointBefore​(int index)
      Возвращает символ (кодовую точку Unicode) перед указанным индексом.
      int codePointCount​(int beginIndex, int endIndex)
      Возвращает количество кодовых точек Unicode в указанном диапазоне текста этой последовательности.
      IntStream codePoints()
      Возвращает поток значений кодовых точек из этой последовательности.
      int compareTo​(StringBuffer another)
      StringBufferСравнивает два StringBufferэкземпляра в лексикографическом порядке.
      StringBuffer delete​(int start, int end)
      Удаляет символы из подстроки этой последовательности.
      StringBuffer deleteCharAt​(int index)
      Удаляет по указанной позиции в этом порядкеchar 。
      void ensureCapacity​(int minimumCapacity)
      Гарантирует, что ёмкость не меньше указанного минимального значения.
      void getChars​(int srcBegin, int srcEnd, char[] dst, int dstBegin)
      Копирует символы из этой последовательности в целевой массив символовdst 。
      int indexOf​(String str)
      Возвращает индекс первого вхождения указанной подстроки в строке.
      int indexOf​(String str, int fromIndex)
      Возвращает индекс первого вхождения указанной подстроки в строке, начиная с указанного индекса.
      StringBuffer insert​(int offset, boolean b)
      Вставляет строковое представление параметраbooleanв эту последовательность.
      StringBuffer insert​(int offset, char c)
      Вставляет строковое представление параметраcharв эту последовательность.
      StringBuffer insert​(int offset, char[] str)
      Вставляет строковое представление параметра массиваcharв эту последовательность.
      StringBuffer insert​(int index, char[] str, int offset, int len)
      Вставляет строковое представление подмассива параметра массиваstrв эту последовательность.
      StringBuffer insert​(int offset, double d)
      Вставляет строковое представление параметраdoubleв эту последовательность.
      StringBuffer insert​(int offset, float f)
      Вставляет строковое представление параметраfloatв эту последовательность.
      StringBuffer insert​(int offset, int i)
      Вставляет строковое представление второго параметраintв эту последовательность.
      StringBuffer insert​(int offset, long l)
      Вставляет строковое представление параметраlongв эту последовательность.
      StringBuffer insert​(int dstOffset, CharSequence s)
      Вставляет указанныйCharSequence插入此序列。
      StringBuffer insert​(int dstOffset, CharSequence s, int start, int end)
      Вставляет указанную последовательностьCharSequenceв эту последовательность.
      StringBuffer insert​(int offset, Object obj)
      Вставляет строковое представление параметраObjectв эту последовательность символов.
      StringBuffer insert​(int offset, String str)
      Вставляет строку в эту последовательность символов.
      int lastIndexOf​(String str)
      Возвращает индекс последнего вхождения указанной подстроки в строке.
      int lastIndexOf​(String str, int fromIndex)
      Возвращает индекс последнего вхождения указанной подстроки в строке, поиск идёт назад от указанного индекса.
      int offsetByCodePoints​(int index, int codePointOffset)
      Возвращает индекс в этой последовательности, начиная с заданногоindexСмещение codePointOffsetкодовой точки.
      StringBuffer replace​(int start, int end, String str)
      Заменяет символы в подстроке этой последовательностиStringуказанными символами.
      StringBuffer reverse()
      Заменяет эту последовательность символов на обратную.
      void setCharAt​(int index, char ch)
      Символ по указанному индексу устанавливается равнымch 。
      void setLength​(int newLength)
      Устанавливает длину последовательности символов.
      CharSequence subSequence​(int start, int end)
      Возвращает новую последовательность символов, которая является подпоследовательностью данной.
      String substring​(int start)
      Возвращает новуюString , содержащую подпоследовательность символов, которая сейчас есть в этой последовательности.
      String substring​(int start, int end)
      Возвращает новуюString , содержащую подпоследовательность символов, которая сейчас есть в этой последовательности.
      void trimToSize()
      Пытается уменьшить память, используемую для последовательности символов.
    • 构造方法详细信息

      • 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 с учётом региональных настроек см.

        Collator.

        Определён в:
        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. Поэтому длина текстового диапазона (вchar s) равна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.5 index小于绝对值的绝对值 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 - a boolean. Результат: ссылка на этот объект.
      • append

        public StringBuffer append​(char c)
        добавляетcharстроковое представление аргумента к этой последовательности. Аргумент добавляется к содержимому этой последовательности. Длина этой последовательности увеличивается на

        1 。

        Общий эффект полностью совпадает с методомString.valueOf(char)который преобразует аргумент в строку, а затем символы этой строкиappended.

        Указано в:
        append在接口 Appendable
        Параметры
        c - a char. Результат: ссылка на этот объект.
      • 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 - a long. Результат: ссылка на этот объект.
      • append

        public StringBuffer append​(float f)
        Добавляетfloatстроковое представление аргумента в эту последовательность. Общий эффект такой же, как при преобразовании аргумента в строку методом

        String.valueOf(float), после чего символы этой строки добавляются в этуappendedпоследовательность символов.

        Параметры
        f - a float. Результат: ссылка на этот объект.
      • append

        public StringBuffer append​(double d)
        Добавляетdoubleстроковое представление аргумента в эту последовательность. Общий эффект такой же, как при преобразовании аргумента в строку методом

        String.valueOf(double), после чего символы этой строкиappendedдобавляются в последовательность.

        Параметры
        d - a double. Результат: ссылка на этот объект.
      • 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,&nbsp;end) 
        Поведение полностью совпадает с вызовом
           sb.substring(begin,&nbsp;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и расширяется доlen chars. Символы подмассива вставляются в эту последовательность в позиции, указанной вindex. Длина последовательности увеличивается наlen chars.
        Параметры
        index- Позиция для вставки подмассива.
        str - A charмассив.
        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символу параметра
        • с индексом kstr, если k не меньше-offsetно меньшеoffset但小于offset+str.length()
        • , если k не меньше-str.length()Параметр должен быть больше или равенoffset+str.length()

        offset参数必须大于或等于0Параметры

        - смещение.
        offset- строка. Результат: ссылка на этот объект. Исключение
        str- если смещение недопустимо.
        StringIndexOutOfBoundsExceptioninsert
      • 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
      • insert

        public StringBuffer insert​(int offset,
                                   boolean b)
        Вставляет строковое представлениеbooleanпараметра в эту последовательность. Общий эффект полностью совпадает с тем, как если бы второй параметр был преобразован в строку методом

        String.valueOf(boolean), а затем символы этой строки вставляются в данную символьную последовательность по указанному смещениюinserted.

        offset参数必须大于或等于0и меньше или равен length этой последовательности.

        Параметры
        offset- смещение.
        b - a boolean. Результат ссылка на этот объект. Исключения
        StringIndexOutOfBoundsException- если смещение недопустимо.
      • insert

        public StringBuffer insert​(int offset,
                                   char c)
        Метод вставляетcharстроковое представление параметра в эту последовательность. Общий эффект такой же, как при преобразовании второго параметра в строку методом

        String.valueOf(char), после чего символы этой строки вставляются в данную символьную последовательность по указанному смещениюinserted.

        offset参数必须大于或等于0и меньше или равен length этой последовательности.

        Параметры
        offset- смещение.
        c - a charРезультат: ссылка на этот объект. Исключения
        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 - a long. Результат — ссылка на этот объект. Исключения
        StringIndexOutOfBoundsException- если смещение недопустимо.
      • insert

        public StringBuffer insert​(int offset,
                                   float f)
        Вставляет строковое представлениеfloatпараметра в эту последовательность. Общий эффект такой же, как при вызове метода

        String.valueOf(float)для преобразования второго параметра в строку, после чего символы этой строки вставляются в данную символьную последовательность по указанному смещению.inserted。

        offset参数必须大于或等于0и меньше или равен length этой последовательности.

        Параметры
        offset- смещение.
        f - a float. Результат: ссылка на этот объект. Исключение
        StringIndexOutOfBoundsException- если смещение недопустимо.
      • insert

        public StringBuffer insert​(int offset,
                                   double d)
        Вставляет строковое представлениеdoubleаргумента в эту последовательность. Общий эффект полностью совпадает с тем, как метод

        String.valueOf(double)преобразует второй аргумент в строку, и символы этой строки вставляются в данную символьную последовательность по указанному смещениюinserted.

        offset参数必须大于或等于0и меньше или равен length этой последовательности.

        Параметры
        offset- смещение.
        d - a double. Результат: ссылка на этот объект. Исключение
        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