Класс CharBuffer
- java.lang.Object
-
- java.nio.Buffer
-
- java.nio.CharBuffer
- Все реализованные интерфейсы:
- Appendable, CharSequence, Comparable<CharBuffer>, Readable
public abstract class CharBuffer extends Buffer implements Comparable<CharBuffer>, Appendable, CharSequence, Readable
Буфер символов.
Этот класс определяет четыре категории операций над буферами символов:
Абсолютные и относительные методы
getиputдля чтения и записи отдельных символов;Относительные методы
bulk getдля передачи смежных последовательностей символов из этого буфера в массив; иОтносительные методы
bulk putдля передачи смежных последовательностей символов из массива символов, строки или другого буфера символов в этот буфер; иМетоды для
compacting,duplicatingиslicingбуфера символов.
Буферы символов могут быть созданы с помощью allocation, который выделяет память для содержимого буфера, с помощью wrapping существующего массива символов или строки в буфер, или создавая представление существующего буфера байтов.
Как и буфер байтов, буфер символов может быть прямым или непрямым. Буфер символов, созданный с помощью методов этого класса, будет непрямым. Буфер символов, созданный как представление буфера байтов, будет прямым, только если сам буфер байтов является прямым. Прямой или нет буфер символов можно определить, вызвав метод isDirect.
Этот класс реализует интерфейс CharSequence, чтобы буферы символов можно было использовать там, где принимаются последовательности символов, например, в пакете регулярных выражений . java.util.regex
Методы в этом классе, которые не возвращают значение, по спецификации возвращают буфер, на котором они вызваны. Это позволяет объединять вызовы методов. Последовательность операторов
cb.put("text/");
cb.put(subtype);
cb.put("; charset=");
cb.put(enc); может, например, быть заменена на один оператор cb.put("text/").put(subtype).put("; charset=").put(enc);
- С момента:
- 1.4
Методы
| Модификатор и тип | Метод и описание |
|---|---|
static CharBuffer |
allocate(int capacity) Выделяет новый буфер символов. |
CharBuffer |
append(char c) Добавляет указанный символ в этот буфер (необязательная операция). |
CharBuffer |
append(CharSequence csq) Добавляет указанную последовательность символов в этот буфер (необязательная операция). |
CharBuffer |
append(CharSequence csq,
int start,
int end) Добавляет подпоследовательность указанной последовательности символов в этот буфер (необязательная операция). |
char[] |
array() Возвращает массив символов, который является основой этого буфера (необязательная операция). |
int |
arrayOffset() Возвращает смещение в массиве поддержки этого буфера первого элемента буфера (необязательная операция). |
abstract CharBuffer |
asReadOnlyBuffer() Создаёт новый, только для чтения, буфер символов, который использует содержимое этого буфера. |
char |
charAt(int index) Читает символ в заданной позиции, относительно текущей позиции. |
IntStream |
chars() Возвращает поток |
abstract CharBuffer |
compact() Уплотняет этот буфер (необязательная операция). |
int |
compareTo(CharBuffer that) Сравнивает этот буфер с другим. |
abstract CharBuffer |
duplicate() Создаёт новый буфер символов, который использует содержимое этого буфера. |
boolean |
equals(Object ob) Указывает, равен ли этот буфер другому объекту. |
abstract char |
get() Относительный метод get. |
CharBuffer |
get(char[] dst) Относительный метод get для блоков. |
CharBuffer |
get(char[] dst,
int offset,
int length) Относительный метод get для блоков. |
abstract char |
get(int index) Абсолютный метод get. |
boolean |
hasArray() Указывает, поддерживается ли этот буфер доступным массивом символов. |
int |
hashCode() Возвращает текущий хэш-код этого буфера. |
abstract boolean |
isDirect() Указывает, является ли этот буфер символов прямым. |
int |
length() Возвращает длину этого буфера символов. |
abstract ByteOrder |
order() Извлекает порядок байтов этого буфера. |
abstract CharBuffer |
put(char c) Относительный метод put (необязательная операция). |
CharBuffer |
put(char[] src) Относительный метод put для блоков (необязательная операция). |
CharBuffer |
put(char[] src,
int offset,
int length) Относительный метод put для блоков (необязательная операция). |
CharBuffer |
put(CharBuffer src) Относительный метод put для блоков (необязательная операция). |
abstract CharBuffer |
put(int index,
char c) Абсолютный метод put (необязательная операция). |
CharBuffer |
put(String src) Относительный метод put для блоков (необязательная операция). |
CharBuffer |
put(String src,
int start,
int end) Относительный метод put для блоков (необязательная операция). |
int |
read(CharBuffer target) Попытка чтения символов в указанный буфер символов. |
abstract CharBuffer |
slice() Создаёт новый буфер символов, чьё содержимое является совмещённой подпоследовательностью содержимого этого буфера. |
abstract CharBuffer |
subSequence(int start,
int end) Создаёт новый буфер символов, который представляет указанную подпоследовательность этого буфера, относительно текущей позиции. |
String |
toString() Возвращает строку, содержащую символы в этом буфере. |
static CharBuffer |
wrap(char[] array) Оборачивает массив символов в буфер. |
static CharBuffer |
wrap(char[] array,
int offset,
int length) Оборачивает массив символов в буфер. |
static CharBuffer |
wrap(CharSequence csq) Оборачивает последовательность символов в буфер. |
static CharBuffer |
wrap(CharSequence csq,
int start,
int end) Оборачивает последовательность символов в буфер. |
Методы, унаследованные от класса java.nio.Buffer
capacity, clear, flip, hasRemaining, isReadOnly, limit, limit, mark, position, position, remaining, reset, rewind Методы, унаследованные от класса java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait Методы, унаследованные от интерфейса java.lang.CharSequence
codePoints Методы
allocate
public static CharBuffer allocate(int capacity)
Выделяет новый буфер char.
Положение нового буфера будет равно нулю, его предел будет равен его емкости, метка будет неопределенной, и каждый его элемент будет инициализирован нулем. У него будет backing array, и его array offset будет равен нулю.
- Параметры:
-
capacity- Емкость нового буфера в символах - Возвращает:
- Новый буфер char
- Исключения:
-
IllegalArgumentException- Еслиcapacityявляется отрицательным целым числом
wrap
public static CharBuffer wrap(char[] array,
int offset,
int length) Оборачивает массив char в буфер.
Новый буфер будет поддерживаться заданным массивом char; то есть, изменения в буфере приведут к изменению массива и наоборот. Емкость нового буфера будет array.length, его положение будет offset, его предел будет offset + length, а его метка будет неопределенной. Его backing array будет заданным массивом, а его array offset будет равен нулю.
- Параметры:
-
array- Массив, который будет поддерживать новый буфер -
offset- Смещение подмассива, который будет использоваться; должно быть неотрицательным и не большеarray.length. Положение нового буфера будет установлено в это значение. -
length- Длина подмассива, который будет использоваться; должно быть неотрицательным и не большеarray.length - offset. Предел нового буфера будет установлен вoffset + length. - Возвращает:
- Новый буфер char
- Исключения:
-
IndexOutOfBoundsException- Если условия наoffsetиlengthпараметры не выполняются
wrap
public static CharBuffer wrap(char[] array)
Оборачивает массив char в буфер.
Новый буфер будет поддерживаться заданным массивом char; то есть, изменения в буфере приведут к изменению массива и наоборот. Емкость и предел нового буфера будут array.length, его положение будет равно нулю, а его метка — неопределенной. Его backing array будет заданным массивом, а его array offset> будет равен нулю.
- Параметры:
-
array- Массив, который будет поддерживать этот буфер - Возвращает:
- Новый буфер char
read
public int read(CharBuffer target)
throws IOException Попытка чтения символов в указанный буфер символов. Буфер используется как хранилище символов как есть: единственные изменения — это результаты операции put. Никакое переворачивание или перемотка буфера не выполняется.
- Определено в:
-
readв интерфейсеReadable - Параметры:
-
target- буфер для чтения символов - Возвращает:
- Количество символов, добавленных в буфер, или -1, если этот источник символов достиг своего конца
- Исключения:
-
IOException- если произошла ошибка ввода-вывода -
NullPointerException- если target равен null -
ReadOnlyBufferException- если target является только для чтения - С:
- 1.5
wrap
public static CharBuffer wrap(CharSequence csq,
int start,
int end) Оборачивает последовательность символов в буфер.
Содержимое нового, только для чтения, буфера будет содержанием заданной последовательности символов. Емкость буфера будет csq.length(), его положение будет start, его предел будет end, а его метка будет неопределенной.
- Параметры:
-
csq- Последовательность символов, из которой должен быть создан новый буфер символов -
start- Индекс первого символа, который будет использоваться; должно быть неотрицательным и не большеcsq.length(). Положение нового буфера будет установлено в это значение. -
end- Индекс символа, следующего за последним используемым символом; должно быть не меньшеstartи не большеcsq.length(). Предел нового буфера будет установлен в это значение. - Возвращает:
- Новый буфер символов
- Исключения:
-
IndexOutOfBoundsException- Если условия наstartиendпараметры не выполняются
wrap
public static CharBuffer wrap(CharSequence csq)
Оборачивает последовательность символов в буфер.
Содержимое нового, только для чтения, буфера будет содержанием заданной последовательности символов. Емкость и предел нового буфера будут csq.length(), его положение будет равно нулю, а его метка — неопределенной.
- Параметры:
-
csq- Последовательность символов, из которой должен быть создан новый буфер символов - Возвращает:
- Новый буфер символов
slice
public abstract CharBuffer slice()
Создает новый буфер char, чье содержимое является общим подпоследовательностью содержимого этого буфера.
Содержимое нового буфера начнется с текущего положения этого буфера. Изменения в содержимом этого буфера будут видны в новом буфере, и наоборот; значения положения, предела и метки двух буферов будут независимыми.
Положение нового буфера будет равно нулю, его емкость и предел будут равны числу оставшихся символов в этом буфере, а метка будет неопределенной. Новый буфер будет прямым, если и только если этот буфер является прямым, и он будет только для чтения, если и только если этот буфер является только для чтения.
- Возвращает:
- Новый буфер char
duplicate
public abstract CharBuffer duplicate()
Создает новый буфер char, который разделяет содержимое этого буфера.
Содержимое нового буфера будет таким же, как у этого буфера. Изменения в содержимом этого буфера будут видны в новом буфере, и наоборот; значения положения, предела и метки двух буферов будут независимыми.
Значения емкости, предела, положения и метки нового буфера будут идентичны значениям этого буфера. Новый буфер будет прямым, если и только если этот буфер является прямым, и он будет только для чтения, если и только если этот буфер является только для чтения.
- Возвращает:
- Новый буфер char
asReadOnlyBuffer
public abstract CharBuffer asReadOnlyBuffer()
Создает новый, только для чтения, буфер char, который разделяет содержимое этого буфера.
Содержимое нового буфера будет таким же, как у этого буфера. Изменения в содержимом этого буфера будут видны в новом буфере; однако сам новый буфер будет только для чтения и не позволит изменять общее содержимое. Значения положения, предела и метки двух буферов будут независимыми.
Значения емкости, предела, положения и метки нового буфера будут идентичны значениям этого буфера.
Если этот буфер сам по себе только для чтения, то этот метод ведет себя точно так же, как метод duplicate.
- Возвращает:
- Новый, только для чтения, буфер char
get
public abstract char get()
Относительный метод get. Читает символ char в текущем положении буфера, а затем увеличивает положение.
- Возвращает:
- Символ char в текущем положении буфера
- Исключения:
-
BufferUnderflowException- Если текущее положение буфера не меньше его предела
put
public abstract CharBuffer put(char c)
Относительный метод put (необязательная операция).
Записывает заданный символ char в этот буфер в текущей позиции и затем увеличивает позицию.
- Параметры:
-
c- Символ char, который будет записан - Возвращает:
- Этот буфер
- Исключения:
-
BufferOverflowException- Если текущее положение этого буфера не меньше его предела -
ReadOnlyBufferException- Если этот буфер только для чтения
get
public abstract char get(int index)
Абсолютный метод get. Читает символ char по заданному индексу.
- Параметры:
-
index- Индекс, из которого будет считан символ char - Возвращает:
- Символ char по заданному индексу
- Исключения:
-
IndexOutOfBoundsException- Еслиindexотрицателен или не меньше предела буфера
put
public abstract CharBuffer put(int index,
char c) Абсолютный метод put (необязательная операция).
Записывает заданный символ char в этот буфер по заданному индексу.
- Параметры:
-
index- Индекс, в котором будет записан символ char -
c- Значение символа char, которое будет записано - Возвращает:
- Этот буфер
- Исключения:
-
IndexOutOfBoundsException- Еслиindexотрицателен или не меньше предела буфера -
ReadOnlyBufferException- Если этот буфер только для чтения
get
public CharBuffer get(char[] dst,
int offset,
int length) Относительный метод get для блоков данных.
Этот метод передает символы char из этого буфера в заданный массив назначения. Если оставшихся символов char в буфере меньше, чем требуется для удовлетворения запроса, то есть, если length > remaining(), то символы не передаются, и выбрасывается исключение BufferUnderflowException.
В противном случае этот метод копирует length символов char из этого буфера в заданный массив, начиная с текущего положения этого буфера и заданного смещения в массиве. Положение этого буфера затем увеличивается на length.
Другими словами, вызов этого метода в форме src.get(dst, off, len) имеет точно такой же эффект, как цикл
for (int i = off; i < off + len; i++)
dst[i] = src.get(): за исключением того, что он сначала проверяет, достаточно ли символов char в этом буфере, и он потенциально намного эффективнее.- Параметры:
-
dst- Массив, в который будут записаны символы char -
offset- Смещение в массиве первого символа char, который будет записан; должно быть неотрицательным и не большеdst.length -
length- Максимальное количество символов char, которые будут записаны в заданный массив; должно быть неотрицательным и не большеdst.length - offset - Возвращает:
- Этот буфер
- Исключения:
-
BufferUnderflowException- Если оставшихся символов char в этом буфере меньше, чемlength -
IndexOutOfBoundsException- Если условия наoffsetиlengthпараметры не выполняются
get
public CharBuffer get(char[] dst)
Относительный метод get для блоков данных.
Этот метод передает символы char из этого буфера в заданный массив назначения. Вызов этого метода в форме src.get(a) ведет себя точно так же, как вызов
src.get(a, 0, a.length)
- Параметры:
-
dst- Массив назначения - Возвращает:
- Этот буфер
- Исключения:
-
BufferUnderflowException- Если оставшихся символов char в этом буфере меньше, чемlength
put
public CharBuffer put(CharBuffer src)
Метод put с относительным объёмом (необязательная операция).
Этот метод переносит оставшиеся символы в заданном исходном буфере в этот буфер. Если оставшихся символов в исходном буфере больше, чем в этом буфере, то есть, если src.remaining() > remaining(), то символы не переносятся, и выбрасывается исключение BufferOverflowException.
В противном случае, этот метод копирует n = src.remaining() символов из заданного буфера в этот буфер, начиная с текущей позиции каждого буфера. Позиции обоих буферов затем увеличиваются на n.
Другими словами, вызов этого метода в форме dst.put(src) имеет точно такой же эффект, как цикл
while (src.hasRemaining())
dst.put(src.get()); за исключением того, что он сначала проверяет наличие достаточного места в этом буфере и потенциально является намного более эффективным.- Параметры:
-
src- Исходный буфер, из которого читаются символы; не должен быть этим буфером - Возвращает:
- Этот буфер
- Выбрасывает:
-
BufferOverflowException- Если в этом буфере недостаточно места для оставшихся символов в исходном буфере -
IllegalArgumentException- Если исходный буфер является этим буфером -
ReadOnlyBufferException- Если этот буфер только для чтения
put
public CharBuffer put(char[] src,
int offset,
int length) Метод put с относительным объёмом (необязательная операция).
Этот метод переносит символы в этот буфер из заданного исходного массива. Если символов, которые нужно скопировать из массива, больше, чем осталось в этом буфере, то есть, если length > remaining(), то символы не переносятся, и выбрасывается исключение BufferOverflowException.
В противном случае, этот метод копирует length символов из заданного массива в этот буфер, начиная с заданного смещения в массиве и текущей позиции этого буфера. Позиция этого буфера затем увеличивается на length.
Другими словами, вызов этого метода в форме dst.put(src, off, len) имеет точно такой же эффект, как цикл
for (int i = off; i < off + len; i++)
dst.put(a[i]); за исключением того, что он сначала проверяет наличие достаточного места в этом буфере и потенциально является намного более эффективным.- Параметры:
-
src- Массив, из которого читаются символы -
offset- Смещение в массиве первого символа для чтения; должно быть неотрицательным и не большеarray.length -
length- Количество символов для чтения из заданного массива; должно быть неотрицательным и не большеarray.length - offset - Возвращает:
- Этот буфер
- Выбрасывает:
-
BufferOverflowException- Если в этом буфере недостаточно места -
IndexOutOfBoundsException- Если условия предварительной проверки дляoffsetиlengthпараметров не соблюдаются -
ReadOnlyBufferException- Если этот буфер только для чтения
put
public final CharBuffer put(char[] src)
Метод put с относительным объёмом (необязательная операция).
Этот метод переносит всё содержимое заданного исходного массива символов в этот буфер. Вызов этого метода в форме dst.put(a) ведет себя точно так же, как вызов
dst.put(a, 0, a.length)
- Параметры:
-
src- Исходный массив - Возвращает:
- Этот буфер
- Выбрасывает:
-
BufferOverflowException- Если в этом буфере недостаточно места -
ReadOnlyBufferException- Если этот буфер только для чтения
put
public CharBuffer put(String src,
int start,
int end) Метод put с относительным объёмом (необязательная операция).
Этот метод переносит символы из заданной строки в этот буфер. Если символов, которые нужно скопировать из строки, больше, чем осталось в этом буфере, то есть, если end - start > remaining(), то символы не переносятся, и выбрасывается исключение BufferOverflowException.
В противном случае, этот метод копирует n = end - start символов из заданной строки в этот буфер, начиная с заданного индекса и текущей позиции этого буфера. Позиция этого буфера затем увеличивается на n.
Другими словами, вызов этого метода в форме dst.put(src, start, end) имеет точно такой же эффект, как цикл
for (int i = start; i < end; i++)
dst.put(src.charAt(i)); за исключением того, что он сначала проверяет наличие достаточного места в этом буфере и потенциально является намного более эффективным.- Параметры:
-
src- Строка, из которой читаются символы -
start- Смещение в строке первого символа для чтения; должно быть неотрицательным и не большеstring.length() -
end- Смещение в строке последнего символа для чтения, плюс один; должно быть неотрицательным и не большеstring.length() - Возвращает:
- Этот буфер
- Выбрасывает:
-
BufferOverflowException- Если в этом буфере недостаточно места -
IndexOutOfBoundsException- Если условия предварительной проверки дляstartиendпараметров не соблюдаются -
ReadOnlyBufferException- Если этот буфер только для чтения
put
public final CharBuffer put(String src)
Метод put с относительным объёмом (необязательная операция).
Этот метод переносит всё содержимое заданной исходной строки в этот буфер. Вызов этого метода в форме dst.put(s) ведет себя точно так же, как вызов
dst.put(s, 0, s.length())
- Параметры:
-
src- Исходная строка - Возвращает:
- Этот буфер
- Выбрасывает:
-
BufferOverflowException- Если в этом буфере недостаточно места -
ReadOnlyBufferException- Если этот буфер только для чтения
hasArray
public final boolean hasArray()
Указывает, поддерживается ли этот буфер массивом символов с доступом.
Если этот метод возвращает true, то методы array и arrayOffset могут быть безопасно вызваны.
- Определено в:
-
hasArrayв классеBuffer - Возвращает:
-
trueесли и только если этот буфер поддерживается массивом и не является только для чтения
array
public final char[] array()
Возвращает массив символов, который поддерживает этот буфер (необязательная операция).
Изменения в содержимом этого буфера приведут к изменению содержимого возвращаемого массива, и наоборот.
Вызовите метод hasArray перед вызовом этого метода, чтобы убедиться, что этот буфер имеет доступный поддерживающий массив.
- Определено в:
-
arrayв классеBuffer - Возвращает:
- Массив, который поддерживает этот буфер
- Выбрасывает:
-
ReadOnlyBufferException- Если этот буфер поддерживается массивом, но является только для чтения -
UnsupportedOperationException- Если этот буфер не поддерживается доступным массивом
arrayOffset
public final int arrayOffset()
Возвращает смещение в поддерживающем массиве этого буфера первого элемента буфера (необязательная операция).
Если этот буфер поддерживается массивом, то позиция буфера p соответствует индексу массива p + arrayOffset().
Вызовите метод hasArray перед вызовом этого метода, чтобы убедиться, что этот буфер имеет доступный поддерживающий массив.
- Определено в:
-
arrayOffsetв классеBuffer - Возвращает:
- Смещение в массиве этого буфера первого элемента буфера
- Выбрасывает:
-
ReadOnlyBufferException- Если этот буфер поддерживается массивом, но является только для чтения -
UnsupportedOperationException- Если этот буфер не поддерживается доступным массивом
compact
public abstract CharBuffer compact()
Уплотняет этот буфер (необязательная операция).
Символы между текущей позицией буфера и его пределом, если таковые имеются, копируются в начало буфера. То есть, символ с индексом p = position() копируется в индекс ноль, символ с индексом p + 1 копируется в индекс один, и так далее, пока символ с индексом limit() - 1 копируется в индекс n = limit() - 1 - p. Позиция буфера затем устанавливается в n+1, а его предел — в его ёмкость. Отметка, если она определена, отбрасывается.
Позиция буфера устанавливается в количество скопированных символов, а не в ноль, так что вызов этого метода может быть сразу же последует вызовом другого метода put с относительным объёмом.
- Возвращает:
- Этот буфер
- Выбрасывает:
-
ReadOnlyBufferException- Если этот буфер только для чтения
isDirect
public abstract boolean isDirect()
Указывает, является ли этот буфер символов прямым.
hashCode
public int hashCode()
Возвращает текущий код хэша этого буфера.
Код хэша буфера символов зависит только от оставшихся элементов; то есть, от элементов с position() до, и включая, элемент с limit() - 1.
Поскольку коды хэша буферов зависят от содержимого, не рекомендуется использовать буферы в качестве ключей в хэш-картах или подобных структурах данных, если не известно, что их содержимое не изменится.
- Переопределяет:
-
hashCodeв классеObject - Возвращает:
- Текущий код хэша этого буфера
- См. также:
-
Object.equals(java.lang.Object),System.identityHashCode(java.lang.Object)
equals
public boolean equals(Object ob)
Указывает, равен ли этот буфер другому объекту.
Два буфера символов равны тогда и только тогда, когда
У них один и тот же тип элементов,
У них одинаковое количество оставшихся элементов, и
Две последовательности оставшихся элементов, рассматриваемые независимо от их начальных позиций, точечно равны.
Буфер символов не равен ни одному другому типу объекта.
- Переопределяет:
-
equalsв классеObject - Параметры:
-
ob- Объект, с которым сравнивается этот буфер - Возвращает:
-
trueесли и только если этот буфер равен заданному объекту - См. также:
-
Object.hashCode(),HashMap
compareTo
public int compareTo(CharBuffer that)
Сравнивает этот буфер с другим.
Два буфера char сравниваются путем лексикографического сравнения их последовательностей оставшихся элементов, без учета начальной позиции каждой последовательности в соответствующем буфере. Пары элементов char сравниваются так, как если бы вызывалась функция Character.compare(char,char).
Буфер char не может быть сравнен с любым другим типом объекта.
- Определено в:
-
compareToв интерфейсеComparable<CharBuffer> - Параметры:
-
that- объект для сравнения. - Возвращает:
- Отрицательное целое число, ноль или положительное целое число, в зависимости от того, меньше, равен или больше данный буфер, чем этот буфер
toString
public String toString()
Возвращает строку, содержащую символы в этом буфере.
Первый символ результирующей строки будет символом в позиции этого буфера, а последний символ будет символом с индексом limit() - 1. Вызов этого метода не изменяет позицию буфера.
- Определено в:
-
toStringв интерфейсеCharSequence - Переопределяет:
-
toStringв классеObject - Возвращает:
- Указанную строку
length
public final int length()
Возвращает длину этого буфера символов.
При представлении в виде последовательности символов, длина буфера символов просто равна количеству символов между позицией (включительно) и пределом (исключая); то есть, она эквивалентна remaining().
- Определено в:
-
lengthв интерфейсеCharSequence - Возвращает:
- Длину этого буфера символов
charAt
public final char charAt(int index)
Читает символ по заданному индексу относительно текущей позиции.
- Определено в:
-
charAtв интерфейсеCharSequence - Параметры:
-
index- Индекс символа для чтения, относительно позиции; должно быть неотрицательным и меньшеremaining() - Возвращает:
- Символ по индексу
position() + index - Исключения:
-
IndexOutOfBoundsException- Если условия наindexне соблюдаются
subSequence
public abstract CharBuffer subSequence(int start,
int end) Создает новый буфер символов, представляющий указанную подпоследовательность этого буфера, относительно текущей позиции.
Новый буфер будет использовать содержимое этого буфера; то есть, если содержимое этого буфера изменяемое, то изменения в одном буфере приведут к изменению другого. Емкость нового буфера будет равна емкости этого буфера, его позиция будет position() + start, а его предел будет position() + end. Новый буфер будет прямым тогда и только тогда, когда этот буфер является прямым, и он будет только для чтения, тогда и только тогда, когда этот буфер является только для чтения.
- Определено в:
-
subSequenceв интерфейсеCharSequence - Параметры:
-
start- Индекс, относительно текущей позиции, первого символа в подпоследовательности; должно быть неотрицательным и не большеremaining() -
end- Индекс, относительно текущей позиции, символа, следующего за последним символом в подпоследовательности; должно быть не меньшеstartи не большеremaining() - Возвращает:
- Новый буфер символов
- Исключения:
-
IndexOutOfBoundsException- Если условия наstartиendне соблюдаются
append
public CharBuffer append(CharSequence csq)
Добавляет указанную последовательность символов в этот буфер (дополнительная операция).
Вызов этого метода в форме dst.append(csq) ведет себя точно так же, как вызов
dst.put(csq.toString())
В зависимости от спецификации toString для последовательности символов csq, вся последовательность может не быть добавлена. Например, вызов метода toString буфера символов вернет подпоследовательность, содержимое которой зависит от позиции и предела буфера.
- Определено в:
-
appendв интерфейсеAppendable - Параметры:
-
csq- Последовательность символов для добавления. Еслиcsqявляетсяnull, тогда четыре символа"null"добавляются в этот буфер символов. - Возвращает:
- Этот буфер
- Исключения:
-
BufferOverflowException- Если в этом буфере недостаточно места -
ReadOnlyBufferException- Если этот буфер является только для чтения - С:
- 1.5
append
public CharBuffer append(CharSequence csq,
int start,
int end) Добавляет подпоследовательность указанной последовательности символов в этот буфер (дополнительная операция).
Вызов этого метода в форме dst.append(csq, start, end) когда csq не является null, ведет себя точно так же, как вызов
dst.put(csq.subSequence(start, end).toString())
- Определено в:
-
appendв интерфейсеAppendable - Параметры:
-
csq- Последовательность символов, из которой будет добавлена подпоследовательность. Еслиcsqявляетсяnull, то символы будут добавлены так, как будтоcsqсодержало четыре символа"null". -
start- Индекс первого символа в подпоследовательности -
end- Индекс символа, следующего за последним символом в подпоследовательности - Возвращает:
- Этот буфер
- Исключения:
-
BufferOverflowException- Если в этом буфере недостаточно места -
IndexOutOfBoundsException- Еслиstartилиendотрицательны,startбольшеend, илиendбольшеcsq.length() -
ReadOnlyBufferException- Если этот буфер является только для чтения - С:
- 1.5
append
public CharBuffer append(char c)
Добавляет указанный символ в этот буфер (дополнительная операция).
Вызов этого метода в форме dst.append(c) ведет себя точно так же, как вызов
dst.put(c)
- Определено в:
-
appendв интерфейсеAppendable - Параметры:
-
c- Присоединяемый символ - Возвращает:
- Этот буфер
- Исключения:
-
BufferOverflowException- Если в этом буфере недостаточно места -
ReadOnlyBufferException- Если этот буфер является только для чтения - С:
- 1.5
order
public abstract ByteOrder order()
Получает порядок байтов этого буфера.
Порядок байтов буфера char, созданного путем выделения или путем обертывания существующего массива char, — это native order базового оборудования. Порядок байтов буфера char, созданного как представление буфера байтов, — это порядок буфера байтов на момент создания представления.
- Возвращает:
- Порядок байтов этого буфера
chars
public IntStream chars()
Описание скопировано из интерфейса: CharSequence
Возвращает поток int с нулевым расширением char значений из этой последовательности. Любой символ, который отображается в точку кода суррогата, пропускается без интерпретации.
Если последовательность изменяется во время чтения потока, результат не определен.
- Определено в:
-
charsв интерфейсеCharSequence - Возвращает:
- Поток IntStream значений char из этой последовательности
© 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.