Top Description Methods
java.lang

public Interface CharSequence

Known Direct Subinterfaces
java.lang.classfile.constantpool.Utf8Entry
Known Direct Implementers
java.lang.StringBuilder, java.lang.String, java.lang.StringBuffer, java.nio.CharBuffer, sun.util.locale.provider.BreakIteratorProviderImpl.CharacterIteratorCharSequence, java.lang.AbstractStringBuilder
Imports
java.util.NoSuchElementException, .Objects, .PrimitiveIterator, .Spliterator, .Spliterators, java.util.function.IntConsumer, java.util.stream.IntStream, .StreamSupport

A CharSequence is a readable sequence of char values. This interface provides uniform, read-only access to many different kinds of char sequences. A char value represents a character in the Basic Multilingual Plane (BMP) or a surrogate. Refer to Unicode Character Representation for details.

This interface does not refine the general contracts of the equals and hashCode methods. The result of testing two objects that implement CharSequence for equality is therefore, in general, undefined. Each object may be implemented by a different class, and there is no guarantee that each class will be capable of testing its instances for equality with those of the other. It is therefore inappropriate to use arbitrary CharSequence instances as elements in a set or as keys in a map.

Author
Mike McCloskey
Since
1.4

Method Summary

Modifier and TypeMethod and Description
public char

Returns:

the specified char value
charAt
(int
the index of the char value to be returned
index
)

Returns the char value at the specified index.

public default IntStream

Returns:

an IntStream of char values from this sequence
chars
()

Returns a stream of int zero-extending the char values from this sequence.

public default IntStream

Returns:

an IntStream of Unicode code points from this sequence
codePoints
()

Returns a stream of code point values from this sequence.

public static int

Returns:

the value 0 if the two CharSequence are equal; a negative integer if the first CharSequence is lexicographically less than the second; or a positive integer if the first CharSequence is lexicographically greater than the second.
compare
(CharSequence
the first CharSequence
cs1
,
CharSequence
the second CharSequence
cs2
)

Compares two CharSequence instances lexicographically.

public default boolean

Returns:

true if length() is 0, otherwise false
isEmpty
()

Returns true if this character sequence is empty.

public int

Returns:

the number of chars in this sequence
length
()

Returns the length of this character sequence.

public CharSequence

Returns:

the specified subsequence
subSequence
(int
the start index, inclusive
start
,
int
the end index, exclusive
end
)

Returns a CharSequence that is a subsequence of this sequence.

public String

Returns:

a string consisting of exactly this sequence of characters
toString
()

Returns a string containing the characters in this sequence in the same order as this sequence.

Method Detail

charAtback to summary
public char charAt(int index)

Returns the char value at the specified index. An index ranges from zero to length() - 1. The first char value of the sequence is at index zero, the next at index one, and so on, as for array indexing.

If the char value specified by the index is a surrogate, the surrogate value is returned.

Parameters
index:int

the index of the char value to be returned

Returns:char

the specified char value

Exceptions
IndexOutOfBoundsException:
if the index argument is negative or not less than length()
charsback to summary
public default IntStream chars()

Returns a stream of int zero-extending the char values from this sequence. Any char which maps to a surrogate code point is passed through uninterpreted.

The stream binds to this sequence when the terminal stream operation commences (specifically, for mutable sequences the spliterator for the stream is late-binding). If the sequence is modified during that operation then the result is undefined.

Returns:IntStream

an IntStream of char values from this sequence

Since
1.8
codePointsback to summary
public default IntStream codePoints()

Returns a stream of code point values from this sequence. Any surrogate pairs encountered in the sequence are combined as if by Character.toCodePoint and the result is passed to the stream. Any other code units, including ordinary BMP characters, unpaired surrogates, and undefined code units, are zero-extended to int values which are then passed to the stream.

The stream binds to this sequence when the terminal stream operation commences (specifically, for mutable sequences the spliterator for the stream is late-binding). If the sequence is modified during that operation then the result is undefined.

Returns:IntStream

an IntStream of Unicode code points from this sequence

Since
1.8
compareback to summary
public static int compare(CharSequence cs1, CharSequence cs2)

Compares two CharSequence instances lexicographically. Returns a negative value, zero, or a positive value if the first sequence is lexicographically less than, equal to, or greater than the second, respectively.

The lexicographical ordering of CharSequence is defined as follows. Consider a CharSequence cs of length len to be a sequence of char values, cs[0] to cs[len-1]. Suppose k is the lowest index at which the corresponding char values from each sequence differ. The lexicographic ordering of the sequences is determined by a numeric comparison of the char values cs1[k] with cs2[k]. If there is no such index k, the shorter sequence is considered lexicographically less than the other. If the sequences have the same length, the sequences are considered lexicographically equal.

Parameters
cs1:CharSequence

the first CharSequence

cs2:CharSequence

the second CharSequence

Returns:int

the value 0 if the two CharSequence are equal; a negative integer if the first CharSequence is lexicographically less than the second; or a positive integer if the first CharSequence is lexicographically greater than the second.

Annotations
@SuppressWarnings:unchecked
Since
11
isEmptyback to summary
public default boolean isEmpty()

Returns true if this character sequence is empty.

Implementation Specification

The default implementation returns the result of calling length() == 0.

Returns:boolean

true if length() is 0, otherwise false

Since
15
lengthback to summary
public int length()

Returns the length of this character sequence. The length is the number of 16-bit chars in the sequence.

Returns:int

the number of chars in this sequence

subSequenceback to summary
public CharSequence subSequence(int start, int end)

Returns a CharSequence that is a subsequence of this sequence. The subsequence starts with the char value at the specified index and ends with the char value at index end - 1. The length (in chars) of the returned sequence is end - start, so if start == end then an empty sequence is returned.

Parameters
start:int

the start index, inclusive

end:int

the end index, exclusive

Returns:CharSequence

the specified subsequence

Exceptions
IndexOutOfBoundsException:
if start or end are negative, if end is greater than length(), or if start is greater than end
toStringback to summary
public String toString()

Returns a string containing the characters in this sequence in the same order as this sequence. The length of the string will be the length of this sequence.

Returns:String

a string consisting of exactly this sequence of characters