Spec-Zone.ru › OpenJDK 24

Интерфейс CharSequence

Все известные подинтерфейсы:
Name, Utf8Entry
Все известные реализующие классы:
CharBuffer, Segment, String, StringBuffer, StringBuilder
public interface CharSequence
Интерфейс CharSequence представляет собой последовательность char значений для чтения. Этот интерфейс предоставляет единообразный, только для чтения доступ к различным видам последовательностей char. Значение char представляет собой символ в Основной многоязычной плоскости (BMP) или суррогат. Подробнее см. Представление символов Unicode.

Данный интерфейс не уточняет общие контракты методов equals и hashCode. Поэтому результат проверки на равенство двух объектов, реализующих интерфейс CharSequence, в общем случае не определён. Каждый объект может быть реализован в разных классах, и нет гарантии, что каждый класс сможет проверять свои экземпляры на равенство с экземплярами других классов. По этой причине не рекомендуется использовать произвольные экземпляры CharSequence в качестве элементов множества или ключей в карте.

С:
1.4

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

Модификатор и тип Метод Описание
char charAt(int index)
Возвращает значение char по указанному индексу.
default IntStream chars()
Возвращает поток int, нулевым образом расширяющий значения char из этой последовательности.
default IntStream codePoints()
Возвращает поток значений кодовых точек из этой последовательности.
static int compare(CharSequence cs1, CharSequence cs2)
Сравнивает два объекта CharSequence лексикографически.
default boolean isEmpty()
Возвращает true, если эта последовательность символов пуста.
int length()
Возвращает длину этой последовательности символов.
CharSequence subSequence(int start, int end)
Возвращает CharSequence, которая является подпоследовательностью этой последовательности.
String toString()
Возвращает строку, содержащую символы в этой последовательности в том же порядке, что и в этой последовательности.

Подробное описание методов

length

int length()
Возвращает длину этой последовательности символов. Длина - это количество 16-битовых char в последовательности.
Возвращает:
количество char в этой последовательности

charAt

char charAt(int index)
Возвращает значение char по указанному индексу. Индекс находится в диапазоне от нуля до length() - 1. Первое значение char последовательности находится по индексу ноль, следующее - по индексу один и так далее, как и для индексирования массивов.

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

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

isEmpty

default boolean isEmpty()
Возвращает true, если эта последовательность символов пуста.
Требования к реализации:
Стандартная реализация возвращает результат вызова length() == 0.
Возвращает:
true, если length() равно 0, в противном случае false
С:
15

subSequence

CharSequence subSequence(int start, int end)
Возвращает CharSequence, которая является подпоследовательностью этой последовательности. Подпоследовательность начинается со значения char по указанному индексу и заканчивается значением char по индексу end - 1. Длина (в char) возвращаемой последовательности равна end - start, поэтому если start == end, возвращается пустая последовательность.
Параметры:
start - начальный индекс, включительно
end - конечный индекс, исключая
Возвращает:
указанную подпоследовательность
Исключение:
IndexOutOfBoundsException - если start или end отрицательны, если end больше, чем length(), или если start больше, чем end

toString

String toString()
Возвращает строку, содержащую символы в этой последовательности в том же порядке, что и в этой последовательности. Длина строки будет равна длине этой последовательности.
Переопределяет:
toString в классе Object
Возвращает:
строку, состоящую из этой последовательности символов

chars

default IntStream chars()
Возвращает поток int, нулевым образом расширяющий значения char из этой последовательности. Любой символ, который сопоставляется с суррогатным кодовым значением, передаётся без интерпретации.

Поток связывается с этой последовательностью, когда начинается терминальная операция потока (в частности, для изменяемых последовательностей, разделитель для потока является поздним связыванием). Если последовательность изменяется во время этой операции, результат неопределён.

Возвращает:
поток IntStream значений char из этой последовательности
С:
1.8

codePoints

default IntStream codePoints()
Возвращает поток значений кодовых точек из этой последовательности. Любые пары суррогатов, встречающиеся в последовательности, объединяются так, как будто это Character.toCodePoint, и результат передаётся в поток. Все остальные кодовые единицы, включая обычные символы BMP, непарные суррогаты и неопределённые кодовые единицы, нулевым образом расширяются до значений int, которые затем передаются в поток.

Поток связывается с этой последовательностью, когда начинается терминальная операция потока (в частности, для изменяемых последовательностей, разделитель для потока является поздним связыванием). Если последовательность изменяется во время этой операции, результат неопределён.

Возвращает:
поток IntStream значений кодовых точек Unicode из этой последовательности
С:
1.8

compare

static int compare(CharSequence cs1, CharSequence cs2)
Сравнивает два объекта CharSequence лексикографически. Возвращает отрицательное значение, ноль или положительное значение, если первая последовательность лексикографически меньше, равна или больше второй соответственно.

Лексикографический порядок CharSequence определяется следующим образом. Рассмотрим последовательность cs длиной len как последовательность значений char, cs[0] до cs[len-1]. Предположим, что k - это наименьший индекс, по которому соответствующие значения char из каждой последовательности отличаются. Лексикографический порядок последовательностей определяется числовым сравнением значений char cs1[k] и cs2[k]. Если такого индекса k нет, более короткая последовательность считается лексикографически меньшей, чем другая. Если последовательности имеют одинаковую длину, последовательности считаются лексикографически равными.

Параметры:
cs1 - первая последовательность CharSequence
cs2 - вторая последовательность CharSequence
Возвращает:
значение 0, если две последовательности равны; отрицательное целое число, если первая последовательность лексикографически меньше второй; или положительное целое число, если первая последовательность лексикографически больше второй.
С:
11

© 1993, 2025, 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.
https://download.java.net/java/early_access/jdk24/docs/api/java.base/java/lang/CharSequence.html

Spec-Zone.ru

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