-
- All Known Subinterfaces:
Name
- All Known Implementing Classes:
CharBuffer,Segment,String,StringBuffer,StringBuilder
public interface CharSequenceACharSequenceis a readable sequence ofcharvalues. This interface provides uniform, read-only access to many different kinds ofcharsequences. Acharvalue 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
equalsandhashCodemethods. The result of testing two objects that implementCharSequencefor 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 arbitraryCharSequenceinstances as elements in a set or as keys in a map.- Since:
- 1.4
-
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description charcharAt(int index)Returns thecharvalue at the specified index.default IntStreamchars()Returns a stream ofintzero-extending thecharvalues from this sequence.default IntStreamcodePoints()Returns a stream of code point values from this sequence.static intcompare(CharSequence cs1, CharSequence cs2)Compares twoCharSequenceinstances lexicographically.intlength()Returns the length of this character sequence.CharSequencesubSequence(int start, int end)Returns aCharSequencethat is a subsequence of this sequence.StringtoString()Returns a string containing the characters in this sequence in the same order as this sequence.
-
-
-
Method Detail
-
length
int length()
Returns the length of this character sequence. The length is the number of 16-bitchars in the sequence.- Returns:
- the number of
chars in this sequence
-
charAt
char charAt(int index)
Returns thecharvalue at the specified index. An index ranges from zero tolength() - 1. The firstcharvalue of the sequence is at index zero, the next at index one, and so on, as for array indexing.If the
charvalue specified by the index is a surrogate, the surrogate value is returned.- Parameters:
index- the index of thecharvalue to be returned- Returns:
- the specified
charvalue - Throws:
IndexOutOfBoundsException- if theindexargument is negative or not less thanlength()
-
subSequence
CharSequence subSequence(int start, int end)
Returns aCharSequencethat is a subsequence of this sequence. The subsequence starts with thecharvalue at the specified index and ends with thecharvalue at indexend - 1. The length (inchars) of the returned sequence isend - start, so ifstart == endthen an empty sequence is returned.- Parameters:
start- the start index, inclusiveend- the end index, exclusive- Returns:
- the specified subsequence
- Throws:
IndexOutOfBoundsException- ifstartorendare negative, ifendis greater thanlength(), or ifstartis greater thanend
-
toString
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.
-
chars
default IntStream chars()
Returns a stream ofintzero-extending thecharvalues 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:
- an IntStream of char values from this sequence
- Since:
- 1.8
-
codePoints
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 tointvalues 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:
- an IntStream of Unicode code points from this sequence
- Since:
- 1.8
-
compare
static int compare(CharSequence cs1, CharSequence cs2)
Compares twoCharSequenceinstances 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
CharSequenceis defined as follows. Consider aCharSequencecs 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- the firstCharSequencecs2- the secondCharSequence- Returns:
- the value
0if the twoCharSequenceare equal; a negative integer if the firstCharSequenceis lexicographically less than the second; or a positive integer if the firstCharSequenceis lexicographically greater than the second. - Since:
- 11
-
-