Name
CharBuffer
, Segment
, String
, StringBuffer
, StringBuilder
public interface CharSequence
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.
Modifier and Type | Method | Description |
---|---|---|
char |
charAt |
Returns the char value at the specified index. |
default IntStream |
chars() |
Returns a stream of int zero-extending the char values from this sequence. |
default IntStream |
codePoints() |
Returns a stream of code point values from this sequence. |
static int |
compare |
Compares two CharSequence instances lexicographically. |
default boolean |
isEmpty() |
Returns true if this character sequence is empty. |
int |
length() |
Returns the length of this character sequence. |
CharSequence |
subSequence |
Returns a CharSequence that is a subsequence of this sequence. |
String |
toString() |
Returns a string containing the characters in this sequence in the same order as this sequence. |
int length()
char
s in the sequence.char
s in this sequencechar charAt(int index)
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.
index
- the index of the char
value to be returnedchar
valueIndexOutOfBoundsException
- if the index
argument is negative or not less than length()
default boolean isEmpty()
true
if this character sequence is empty.length() == 0
.true
if length()
is 0
, otherwise false
CharSequence subSequence(int start, int end)
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 char
s) of the returned sequence is end - start
, so if start == end
then an empty sequence is returned.start
- the start index, inclusiveend
- the end index, exclusiveIndexOutOfBoundsException
- if start
or end
are negative, if end
is greater than length()
, or if start
is greater than end
String toString()
default IntStream chars()
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.
default IntStream codePoints()
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.
static int compare(CharSequence cs1, CharSequence cs2)
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.
cs1
- the first CharSequence
cs2
- the second CharSequence
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.
© 1993, 2023, 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/21/docs/api/java.base/java/lang/CharSequence.html