Interface CharSequence
-
- All Known Subinterfaces:
- Name
- All Known Implementing Classes:
- CharBuffer, Segment, String, StringBuffer, StringBuilder
public interface CharSequence
A CharSequence is a readable sequence ofchar
values. This interface provides uniform, read-only access to many different kinds ofchar
sequences. Achar
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
andhashCode
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.- Since:
- 1.4
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method and Description char
charAt(int index)
Returns thechar
value at the specified index.default IntStream
chars()
Returns a stream ofint
zero-extending thechar
values from this sequence.default IntStream
codePoints()
Returns a stream of code point values from this sequence.int
length()
Returns the length of this character sequence.CharSequence
subSequence(int start, int end)
Returns aCharSequence
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.
-
-
-
Method Detail
length
int length()
Returns the length of this character sequence. The length is the number of 16-bitchar
s in the sequence.- Returns:
-
the number of
char
s in this sequence
charAt
char charAt(int index)
Returns thechar
value at the specified index. An index ranges from zero to length() - 1. The firstchar
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 thechar
value to be returned - Returns:
-
the specified
char
value - Throws:
-
IndexOutOfBoundsException
- if the index argument is negative or not less than length()
subSequence
CharSequence subSequence(int start, int end)
Returns aCharSequence
that is a subsequence of this sequence. The subsequence starts with thechar
value at the specified index and ends with thechar
value at index end - 1. The length (inchar
s) 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
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 ofint
zero-extending thechar
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
- 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 toint
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
- Since:
- 1.8
-
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2022, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.