AI-generated Key Takeaways
-
The
CharSequenceinterface provides read-only access to a sequence ofcharvalues, representing characters in the Basic Multilingual Plane (BMP) or surrogates. -
Common implementations include
String,StringBuffer,StringBuilder, andCharBuffer. -
Key methods allow retrieving individual characters (
charAt), subsequences (subSequence), the sequence length (length), and converting the sequence to aString(toString). -
CharSequencealso offers methods (chars,codePoints) to create streams ofintvalues representing the characters or code points within the sequence. -
Comparing two
CharSequenceobjects usingequalsorhashCodegenerally yields undefined results due to potential implementation differences.
| Known Indirect Subclasses |
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 comparing two
objects that implement CharSequence 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.
Public Method Summary
| abstract char |
charAt(int index)
Returns the
char value at the specified index. |
| IntStream |
chars()
Returns a stream of
int zero-extending the char values
from this sequence. |
| IntStream |
codePoints()
Returns a stream of code point values from this sequence.
|
| abstract int |
length()
Returns the length of this character sequence.
|
| abstract CharSequence |
subSequence(int start, int end)
Returns a
CharSequence that is a subsequence of this sequence. |
| abstract String |
toString()
Returns a string containing the characters in this sequence in the same
order as this sequence.
|
Public Methods
public abstract 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 | the index of the char value to be returned |
|---|
Returns
- the specified
charvalue
Throws
| IndexOutOfBoundsException | if the index argument is negative or not less than length() |
|---|
public 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.
If the sequence is mutated while the stream is being read, the result is undefined.
Returns
- an IntStream of char values from this sequence
public IntStream codePoints ()
Returns a stream of code point values from this sequence. Any surrogate
pairs encountered in the sequence are combined as if by {@linkplain Character#toCodePoint 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.
If the sequence is mutated while the stream is being read, the result is undefined.
Returns
- an IntStream of Unicode code points from this sequence
public abstract int length ()
Returns the length of this character sequence. The length is the number
of 16-bit chars in the sequence.
Returns
- the number of
chars in this sequence
public abstract 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 | the start index, inclusive |
|---|---|
| end | the end index, exclusive |
Returns
- the specified subsequence
Throws
| IndexOutOfBoundsException | if start or end are negative, if end is greater than length(), or if start is greater than end |
|---|
public abstract 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
- a string consisting of exactly this sequence of characters