Интерфейс CharSequence

Все известные подинтерфейсы:
Name
Все известные реализующие классы:
CharBuffer, Segment, String, StringBuffer, StringBuilder
public interface CharSequence

A CharSequence — это читаемая последовательность char значений. Этот интерфейс предоставляет единообразный, только для чтения доступ к различным видам char последовательностей. Значение char представляет собой символ в основной многоязычной плоскости (BMP) или суррогат. Подробности см. в представлении символов Unicode.

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

С:
1.4

Методы

Модификатор и типМетодОписание
charcharAt​(int index)

Возвращает значение char по указанному индексу.

default IntStreamchars()

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

default IntStreamcodePoints()

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

static intcompare​(CharSequence cs1, CharSequence cs2)

Сравнивает два экземпляра CharSequence лексикографически.

intlength()

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

CharSequencesubSequence​(int start, int end)

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

StringtoString()

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

Методы

length

int length()

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

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

charAt

char charAt(int index)

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

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

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

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

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

© 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.
https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/CharSequence.html

Spec-Zone .ru
спецификации, руководства, описания, API