Spec-Zone.ru › OpenJDK 8

Класс StringBuffer

  • java.lang.Object
    • java.lang.StringBuffer
Все реализованные интерфейсы:
Serializable, Appendable, CharSequence

public final class StringBuffer
extends Object
implements Serializable, CharSequence

Потокобезопасная, изменяемая последовательность символов. Буфер строк похож на String, но может быть изменён. В любой момент времени он содержит определённую последовательность символов, но длина и содержимое последовательности могут быть изменены посредством определённых вызовов методов.

Буферы строк безопасны для использования в нескольких потоках. Методы синхронизированы при необходимости, чтобы все операции над конкретным экземпляром вели себя так, как будто они происходят в определённом последовательном порядке, согласованном с порядком вызовов методов каждым из вовлечённых потоков.

Основные операции над буфером строк — это методы append и insert, которые перегружены для принятия данных любого типа. Они эффективно преобразуют заданный элемент данных в строку, а затем добавляют или вставляют символы этой строки в буфер строк. Метод append всегда добавляет эти символы в конец буфера; метод insert добавляет символы в указанную точку.

Например, если z ссылается на объект буфера строк, текущее содержимое которого "start", то вызов метода z.append("le") заставит буфер строк содержать "startle", в то время как z.insert(4, "le") изменит буфер строк на "starlet".

В общем случае, если sb ссылается на экземпляр буфера строк, то sb.append(x) имеет тот же эффект, что и sb.insert(sb.length(), x).

Всякий раз, когда происходит операция, включающая исходную последовательность (например, добавление или вставка из исходной последовательности), этот класс синхронизируется только с буфером строк, выполняющим операцию, а не с исходной последовательностью. Обратите внимание, что, хотя StringBuffer предназначен для безопасного одновременного использования из нескольких потоков, если конструктору или операциям append или insert передаётся исходная последовательность, которая совместно используется несколькими потоками, код вызывающего потока должен гарантировать, что операция имеет согласованный и неизменный вид исходной последовательности на протяжении всей операции. Это можно выполнить, например, при помощи блокировки вызывающего потока во время вызова операции, использования неизменяемой исходной последовательности или избежания совместного использования исходной последовательности между потоками.

Каждый буфер строк имеет ёмкость. Пока длина последовательности символов, содержащихся в буфере строк, не превышает ёмкость, нет необходимости выделять новый внутренний массив буфера. Если внутренний буфер переполняется, он автоматически увеличивается.

Если не указано иное, передача null аргумента в конструктор или метод в этом классе приведёт к выбрасыванию исключения NullPointerException.

Начиная с версии JDK 5, этот класс дополнен эквивалентным классом, предназначенным для использования одним потоком, StringBuilder. Класс StringBuilder обычно следует использовать вместо этого, так как он поддерживает все те же операции, но быстрее, так как не выполняет синхронизацию.

Since:
JDK1.0
См. также:
StringBuilder, String, Serialized Form

Конструкторы

Конструктор и описание
StringBuffer()

Конструирует буфер строк без символов и начальной ёмкостью 16 символов.

StringBuffer(CharSequence seq)

Конструирует буфер строк, содержащий те же символы, что и указанная CharSequence.

StringBuffer(int capacity)

Конструирует буфер строк без символов и указанной начальной ёмкостью.

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(CharSequence s)

Добавляет указанный CharSequence в эту последовательность.

StringBuffer append(CharSequence s, int start, int end)

Добавляет подпоследовательность указанного CharSequence в эту последовательность.

StringBuffer append(double d)

Добавляет строковое представление аргумента double в эту последовательность.

StringBuffer append(float f)

Добавляет строковое представление аргумента float в эту последовательность.

StringBuffer append(int i)

Добавляет строковое представление аргумента int в эту последовательность.

StringBuffer append(long lng)

Добавляет строковое представление аргумента long в эту последовательность.

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 в этой последовательности по указанному индексу.

int codePointAt(int index)

Возвращает символ (код Юникода) по указанному индексу.

int codePointBefore(int index)

Возвращает символ (код Юникода) перед указанным индексом.

int codePointCount(int beginIndex, int endIndex)

Возвращает количество символов Юникода в указанном текстовом диапазоне этой последовательности.

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 dstOffset, CharSequence s)

Вставляет указанный CharSequence в эту последовательность.

StringBuffer insert(int dstOffset, CharSequence s, int start, int end)

Вставляет подпоследовательность указанного CharSequence в эту последовательность.

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 offset, Object obj)

Вставляет строковое представление аргумента Object в эту последовательность символов.

StringBuffer insert(int offset, String str)

Вставляет строку в эту последовательность символов.

int lastIndexOf(String str)

Возвращает индекс в этой строке самого правого вхождения указанной подстроки.

int lastIndexOf(String str, int fromIndex)

Возвращает индекс в этой строке последнего вхождения указанной подстроки.

int length()

Возвращает длину (количество символов).

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, содержащую подпоследовательность символов, которые в данный момент содержатся в этой последовательности.

String toString()

Возвращает строку, представляющую данные в этой последовательности.

void trimToSize()

Попытка уменьшить занимаемое хранилище для последовательности символов.

Методы, унаследованные от класса java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

Методы, унаследованные от интерфейса java.lang.CharSequence

chars, codePoints

Краткое описание конструкторов

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

Краткое описание методов

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().

С версии:
1.5

setLength

public void setLength(int newLength)

Устанавливает длину последовательности символов. Последовательность изменяется на новую последовательность символов, длина которой указана аргументом. Для каждого неотрицательного индекса k меньше newLength, символ с индексом k в новой последовательности символов совпадает с символом с индексом k в старой последовательности, если k меньше длины старой последовательности; в противном случае это нулевой символ '\u0000'. Другими словами, если аргумент newLength меньше текущей длины, длина изменяется на указанную длину.

Если аргумент newLength больше или равен текущей длине, добавляется достаточно нулевых символов ('\u0000'), чтобы длина стала аргументом newLength.

Аргумент newLength должен быть больше или равен 0.

Параметры:
newLength - новая длина
Исключения:
IndexOutOfBoundsException - если аргумент newLength отрицателен.
См. также:
length()

charAt

public char charAt(int index)

Возвращает значение char в этой последовательности по указанному индексу. Первое значение char находится по индексу 0, следующее — по индексу 1 и так далее, как в индексировании массивов.

Аргумент индекса должен быть больше или равен 0 и меньше длины этой последовательности.

Если значение char, указанное индексом, является суррогатным, возвращается суррогатное значение.

Указано в:
charAt в интерфейсе CharSequence
Параметры:
index - индекс нужного значения char.
Возвращает:
значение char по указанному индексу.
Исключения:
IndexOutOfBoundsException - если index отрицательно или больше или равно length().
См. также:
length()

codePointAt

public int codePointAt(int index)

Возвращает символ (код точки Unicode) по указанному индексу. Индекс относится к значениям char (кодовые единицы Unicode) и находится в диапазоне от 0 до length()- 1.

Если значение char, указанное по данному индексу, находится в диапазоне высокосуррогатных символов, следующий индекс меньше длины этой последовательности, и значение char по следующему индексу находится в диапазоне низкосуррогатных символов, то возвращается дополнительная кодовая точка, соответствующая этой паре суррогатных символов. В противном случае возвращается значение char по данному индексу.

Параметры:
index - индекс к значениям char
Возвращает:
значение кодовой точки символа по index
С версии:
1.5

codePointBefore

public int codePointBefore(int index)

Возвращает символ (код точки Unicode) перед указанным индексом. Индекс относится к значениям char (кодовые единицы Unicode) и находится в диапазоне от 1 до length().

Если значение char по (index - 1) находится в диапазоне низкосуррогатных символов, (index - 2) не является отрицательным, и значение char по (index - 2) находится в диапазоне высокосуррогатных символов, то возвращается дополнительное значение кодовой точки пары суррогатных символов. Если значение char по index - 1 является непарным низкосуррогатным или высокосуррогатным символом, возвращается суррогатное значение.

Параметры:
index - индекс, следующий за кодовой точкой, которая должна быть возвращена
Возвращает:
значение кодовой точки Unicode перед заданным индексом.
С версии:
1.5

codePointCount

public int codePointCount(int beginIndex,
                          int endIndex)

Возвращает количество кодовых точек Unicode в указанном диапазоне текста этой последовательности. Диапазон текста начинается с указанного beginIndex и простирается до char по индексу endIndex - 1. Таким образом, длина (в chars) диапазона текста равна endIndex-beginIndex. Непарные суррогаты в этой последовательности считаются по одному кодовому символу каждый.

Параметры:
beginIndex - индекс к первому char диапазона текста.
endIndex - индекс после последнего char диапазона текста.
Возвращает:
количество кодовых точек Unicode в указанном диапазоне текста
С версии:
1.5

offsetByCodePoints

public int offsetByCodePoints(int index,
                              int codePointOffset)

Возвращает индекс в этой последовательности, который смещен от данного index на codePointOffset кодовых точек. Непарные суррогаты в диапазоне текста, заданном index и codePointOffset, считаются по одному кодовому символу каждый.

Параметры:
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.

Аргумент индекса должен быть больше или равен 0 и меньше длины этой последовательности.

Параметры:
index - индекс символа для изменения.
ch - новый символ.
Исключения:
IndexOutOfBoundsException - если index отрицательно или больше или равно length().
См. также:
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 в новой последовательности символов равен символу с индексом k в старой последовательности, если k меньше n; в противном случае он равен символу с индексом k-n в аргументе str.

Параметры:
str - строка.
Возвращает:
ссылку на этот объект.

append

public StringBuffer append(StringBuffer sb)

Добавляет указанный буфер символов к этой последовательности.

Символы аргумента StringBuffer добавляются в порядке возрастания индексов к содержимому этой последовательности, увеличивая длину этой последовательности на длину аргумента. Если sb равно null, то к этой последовательности добавляются четыре символа "null".

Пусть n — длина старой последовательности символов, содержащейся в StringBuffer непосредственно перед выполнением метода append. Тогда символ с индексом k в новой последовательности символов равен символу с индексом k в старой последовательности, если k меньше n; в противном случае он равен символу с индексом k-n в аргументе sb.

Этот метод блокирует доступ к объекту-приемнику this, но не блокирует доступ к исходному объекту (sb).

Параметры:
sb - буфер символов для добавления.
Возвращает:
ссылку на этот объект.
С тех пор:
1.4

append

public StringBuffer append(CharSequence s)

Добавляет указанную последовательность символов к этой последовательности.

Символы аргумента CharSequence добавляются в порядке возрастания индексов, увеличивая длину этой последовательности на длину аргумента.

Результат этого метода точно такой же, как и если бы он был вызовом this.append(s, 0, s.length());

Этот метод блокирует доступ к объекту-приемнику this, но не блокирует доступ к исходному объекту (s).

Если s равно null, то добавляются четыре символа "null".

Определено в:
append в интерфейсе Appendable
Параметры:
s - последовательность символов для добавления.
Возвращает:
ссылку на этот объект.
С тех пор:
1.5

append

public StringBuffer append(CharSequence s,
                           int start,
                           int end)

Добавляет подпоследовательность указанной последовательности символов к этой последовательности.

Символы аргумента s, начиная с индекса start, добавляются в порядке возрастания индексов к содержимому этой последовательности до (исключительно) индекса end. Длина этой последовательности увеличивается на значение end - start.

Пусть n — длина этой последовательности символов непосредственно перед выполнением метода append. Тогда символ с индексом k в этой последовательности становится равным символу с индексом k в этой последовательности, если k меньше n; в противном случае он равен символу с индексом k+start-n в аргументе s.

Если s равно null, этот метод добавляет символы так, как будто параметр s представляет собой последовательность, содержащую четыре символа "null".

Определено в:
append в интерфейсе Appendable
Параметры:
s - последовательность символов для добавления.
start - начальный индекс подпоследовательности для добавления.
end - конечный индекс подпоследовательности для добавления.
Возвращает:
ссылку на этот объект.
Выбрасывает:
IndexOutOfBoundsException - если start отрицательно, или start больше, чем end, или end больше, чем s.length()
С тех пор:
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 к этой последовательности.

Символы массива char str, начиная с индекса offset, добавляются в порядке возрастания индексов к содержимому этой последовательности. Длина этой последовательности увеличивается на значение len.

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

Параметры:
str - символы для добавления.
offset - индекс первого символа для добавления.
len - количество символов для добавления.
Возвращает:
ссылку на этот объект.
Выбрасывает:
IndexOutOfBoundsException - если offset < 0 или len < 0 или offset+len > str.length

append

public StringBuffer append(boolean b)

Добавляет строковое представление аргумента boolean к последовательности.

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

Параметры:
b - значение boolean.
Возвращает:
ссылку на этот объект.

append

public StringBuffer append(char c)

Добавляет строковое представление аргумента char к этой последовательности.

Аргумент добавляется к содержимому этой последовательности. Длина этой последовательности увеличивается на 1.

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

Определено в:
append в интерфейсе Appendable
Параметры:
c - символ.
Возвращает:
ссылку на этот объект.

append

public StringBuffer append(int i)

Добавляет строковое представление аргумента int к этой последовательности.

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

Параметры:
i - целое число.
Возвращает:
ссылку на этот объект.

appendCodePoint

public StringBuffer appendCodePoint(int codePoint)

Добавляет строковое представление аргумента codePoint к этой последовательности.

Аргумент добавляется к содержимому этой последовательности. Длина этой последовательности увеличивается на Character.charCount(codePoint).

Общий эффект эквивалентен преобразованию аргумента в массив символов методом Character.toChars(int) и добавлению символов этого массива к этой последовательности символов методом appended.

Параметры:
codePoint - код Юникода
Возвращает:
ссылку на этот объект.
С тех пор:
1.5

append

public StringBuffer append(long lng)

Добавляет строковое представление аргумента long к этой последовательности.

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

Параметры:
lng - целое число с плавающей точкой.
Возвращает:
ссылку на этот объект.

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)

Удаляет символ в указанной позиции в этой последовательности. Длина последовательности уменьшается на один символ.

Примечание: если символ в данном индексе является дополнительным символом, этот метод не удаляет весь символ. Если требуется правильная обработка дополнительных символов, определите количество символов, которые нужно удалить, вызвав Character.charCount(thisSequence.codePointAt(index)), где thisSequence - это эта последовательность.

Параметры:
index - Индекс символа для удаления
Возвращает:
Этот объект.
Исключения:
StringIndexOutOfBoundsException - если индекс отрицателен или больше или равен length().
С:
1.2

replace

public StringBuffer replace(int start,
                            int end,
                            String str)

Заменяет символы в подстроке этой последовательности символами в указанной строке. Подстрока начинается со значения, указанного в start, и заканчивается символом с индексом end - 1 или концом последовательности, если такого символа не существует. Сначала символы в подстроке удаляются, а затем указанная строка вставляется в позицию start. (При необходимости, эта последовательность будет увеличена, чтобы вместить указанную строку.)

Параметры:
start - Начальный индекс (включительно).
end - Конечный индекс (исключительно).
str - Строка, которая заменит предыдущее содержимое.
Возвращает:
Этот объект.
Исключения:
StringIndexOutOfBoundsException - если start отрицательно, больше чем length(), или больше чем end.
С:
1.2

substring

public String substring(int start)

Возвращает новую строку, содержащую подпоследовательность символов, в настоящее время содержащуюся в этой последовательности символов. Подстрока начинается с указанного индекса и простирается до конца этой последовательности.

Параметры:
start - Начальный индекс (включительно).
Возвращает:
Новая строка.
Исключения:
StringIndexOutOfBoundsException - если start меньше нуля или больше длины этого объекта.
С:
1.2

subSequence

public CharSequence subSequence(int start,
                                int end)

Возвращает новую последовательность символов, являющуюся подпоследовательностью этой последовательности.

Вызов этого метода в форме

sb.subSequence(begin,&nbsp;end)
ведет себя точно так же, как вызов
sb.substring(begin,&nbsp;end)
. Этот метод предоставлен для того, чтобы этот класс мог реализовать интерфейс CharSequence.
Задано:
subSequence в интерфейсе CharSequence
Параметры:
start - начальный индекс (включительно).
end - конечный индекс (исключительно).
Возвращает:
указанная подпоследовательность.
Исключения:
IndexOutOfBoundsException - если start или end отрицательны, если end больше length(), или если start больше end
С:
1.4

substring

public String substring(int start,
                        int end)

Возвращает новую строку, содержащую подпоследовательность символов, в настоящее время содержащихся в этой последовательности. Подстрока начинается с указанного 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 char символов. Символы подмассива вставляются в эту последовательность в позиции, указанной в index. Длина этой последовательности увеличивается на len char символов.

Параметры:
index - позиция для вставки подмассива.
str - массив char.
offset - индекс первого символа в подмассиве для вставки.
len - количество символов в подмассиве для вставки.
Возвращает:
Этот объект
Исключения:
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, и меньше или равен длине этой последовательности.

Параметры:
offset - смещение.
obj - an Object.
Возвращает:
ссылку на этот объект.
Исключения:
StringIndexOutOfBoundsException - если смещение некорректно.

insert

public StringBuffer 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 StringBuffer insert(int offset,
                           char[] str)

Вставляет строковое представление аргумента массива char в эту последовательность.

Символы аргумента массива вставляются в содержимое этой последовательности в позиции, указанной в offset. Длина этой последовательности увеличивается на длину аргумента.

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

Аргумент offset должен быть больше или равен 0, и меньше или равен длине этой последовательности.

Параметры:
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+start-dstOffset в аргументе s, если k больше или равно dstOffset но меньше dstOffset+end-start
  • символу с индексом k-(end-start) в этой последовательности, если k больше или равно dstOffset+end-start

Аргумент dstOffset должен быть больше или равен 0, и меньше или равен длине этой последовательности.

Аргумент start должен быть неотрицательным и не больше end.

Аргумент end должен быть больше или равен start, и меньше или равен длине s.

Если s равно null, то этот метод вставляет символы так, как если бы параметр s был последовательностью, содержащей четыре символа "null".

Параметры:
dstOffset - смещение в этой последовательности.
s - последовательность, подлежащая вставке.
start - начальный индекс подпоследовательности, подлежащей вставке.
end - конечный индекс подпоследовательности, подлежащей вставке.
Возвращает:
ссылку на этот объект.
Исключения:
IndexOutOfBoundsException - если dstOffset отрицательно или больше this.length(), или start или end отрицательны, или start больше end или end больше s.length()
С тех пор:
1.5

insert

public StringBuffer insert(int offset,
                           boolean b)

Вставляет строковое представление аргумента boolean в эту последовательность.

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

Аргумент offset должен быть больше или равен 0, и меньше или равен длине этой последовательности.

Параметры:
offset - смещение.
b - логическое значение.
Возвращает:
ссылку на этот объект.
Исключения:
StringIndexOutOfBoundsException - если смещение недействительно.

insert

public StringBuffer insert(int offset,
                           char c)

Вставляет строковое представление аргумента char в эту последовательность.

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

Аргумент offset должен быть больше или равен 0, и меньше или равен длине этой последовательности.

Параметры:
offset - смещение.
c - символ.
Возвращает:
ссылку на этот объект.
Исключения:
IndexOutOfBoundsException - если смещение недействительно.

insert

public StringBuffer insert(int offset,
                           int i)

Вставляет строковое представление второго аргумента int в эту последовательность.

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

Аргумент offset должен быть больше или равен 0, и меньше или равен длине этой последовательности.

Параметры:
offset - смещение.
i - целое число.
Возвращает:
ссылку на этот объект.
Исключения:
StringIndexOutOfBoundsException - если смещение недействительно.

insert

public StringBuffer insert(int offset,
                           long l)

Вставляет строковое представление аргумента long в эту последовательность.

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

Аргумент offset должен быть больше или равен 0, и меньше или равен длине этой последовательности.

Параметры:
offset - смещение.
l - целое число с длинной.
Возвращает:
ссылку на этот объект.
Исключения:
StringIndexOutOfBoundsException - если смещение недействительно.

insert

public StringBuffer insert(int offset,
                           float f)

Вставляет строковое представление аргумента float в эту последовательность.

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

Аргумент offset должен быть больше или равен 0, и меньше или равен длине этой последовательности.

Параметры:
offset - смещение.
f - число с плавающей точкой.
Возвращает:
ссылку на этот объект.
Исключения:
StringIndexOutOfBoundsException - если смещение недействительно.

insert

public StringBuffer insert(int offset,
                           double d)

Вставляет строковое представление аргумента double в эту последовательность.

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

Аргумент offset должен быть больше или равен 0, и меньше или равен длине этой последовательности.

Параметры:
offset - смещение.
d - число с плавающей точкой двойной точности.
Возвращает:
ссылку на этот объект.
Исключения:
StringIndexOutOfBoundsException - если смещение недействительно.

indexOf

public int indexOf(String str)

Возвращает индекс в этой строке первого вхождения указанной подстроки. Возвращаемое целое число — это наименьшее значение k, для которого:

this.toString().startsWith(str, <i>k</i>)
является true.

Параметры:
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.4

lastIndexOf

public int lastIndexOf(String str)

Возвращает индекс в этой строке правого вхождения указанной подстроки. Правейшая пустая строка "" считается имеющей индекс this.length(). Возвращаемый индекс — это наибольшее значение k, для которого

this.toString().startsWith(str, k)
истинно.

Параметры:
str - подстрока для поиска.
Возвращает:
если строковый аргумент встречается один или несколько раз в качестве подстроки в этом объекте, то возвращается индекс первого символа последней такой подстроки. Если он не встречается в качестве подстроки, возвращается -1.
С тех пор:
1.4

public int lastIndexOf(String str,
                       int fromIndex)

Возвращает индекс последнего вхождения указанной подстроки в этой строке. Возвращаемое целое число — это наибольшее значение k, такое что:

k <= Math.min(fromIndex, this.length()) &&
                   this.toString().startsWith(str, k)
Если такого значения k не существует, возвращается -1.

Параметры:
str - подстрока, которую нужно найти.
fromIndex - индекс, с которого нужно начать поиск.
Возвращает:
индекс последнего вхождения указанной подстроки в этой последовательности.
С:
1.4

reverse

public StringBuffer reverse()

Заменяет эту последовательность символов обратной последовательностью. Если в последовательности есть пары суррогатов, они обрабатываются как отдельные символы для операции обратного порядка. Таким образом, порядок высоко-низких суррогатов никогда не меняется. Пусть n — длина последовательности символов (не длина в значениях char ) непосредственно перед выполнением метода reverse. Тогда символ с индексом k в новой последовательности символов равен символу с индексом n-k-1 в старой последовательности символов.

Обратите внимание, что операция обратного порядка может привести к созданию пар суррогатов, которые ранее были несвязанными низкими и высокими суррогатами до операции. Например, обращение "\uDC00\uD800" даёт "\uD800\uDC00", что является допустимой парой суррогатов.

Возвращает:
ссылка на этот объект.
С:
JDK1.0.2

toString

public String toString()

Возвращает строку, представляющую данные в этой последовательности. Создаётся и инициализируется новый String объект, содержащий последовательность символов, в настоящее время представленную этим объектом. Затем возвращается этот String объект. Последующие изменения в этой последовательности не влияют на содержимое String.

Определено в:
toString в интерфейсе CharSequence
Возвращает:
строковое представление этой последовательности символов.

© 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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API