CharSequence (Java SE 9 & JDK 9 ) (original) (raw)
- All Known Subinterfaces:
[Name](../../javax/lang/model/element/Name.html "interface in javax.lang.model.element")
All Known Implementing Classes:[CharBuffer](../../java/nio/CharBuffer.html "class in java.nio")
,[Segment](../../javax/swing/text/Segment.html "class in javax.swing.text")
,[String](../../java/lang/String.html "class in java.lang")
,[StringBuffer](../../java/lang/StringBuffer.html "class in java.lang")
,[StringBuilder](../../java/lang/StringBuilder.html "class in java.lang")
public interface CharSequence
A CharSequence
is a readable sequence of char
values. This interface provides uniform, read-only access to many different kinds ofchar
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.
Since:
1.4
Method Summary
All Methods Instance Methods Abstract Methods Default Methods
Modifier and Type Method Description char charAt(int index) 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. int length() Returns the length of this character sequence. CharSequence subSequence(int start, int end) 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. Method Detail
* #### length int length() Returns the length of this character sequence. The length is the number of 16-bit `char`s in the sequence. Returns: the number of `char`s in this sequence * #### charAt 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](../../java/lang/Character.html#unicode), the surrogate value is returned. Parameters: `index` \- the index of the `char` value to be returned Returns: the specified `char` value Throws: `[IndexOutOfBoundsException](../../java/lang/IndexOutOfBoundsException.html "class in java.lang")` \- if the `index` argument is negative or not less than`length()` * #### subSequence [CharSequence](../../java/lang/CharSequence.html "interface in java.lang") 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 `char`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](../../java/lang/IndexOutOfBoundsException.html "class in java.lang")` \- if `start` or `end` are negative, if `end` is greater than `length()`, or if `start` is greater than `end` * #### toString [String](../../java/lang/String.html "class in java.lang") 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. Overrides: `[toString](../../java/lang/Object.html#toString--)` in class `[Object](../../java/lang/Object.html "class in java.lang")` Returns: a string consisting of exactly this sequence of characters * #### chars default [IntStream](../../java/util/stream/IntStream.html "interface in java.util.stream") chars() Returns a stream of `int` zero-extending the `char` values from this sequence. Any char which maps to a [surrogate code point](../../java/lang/Character.html#unicode) 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_](../util/Spliterator.html#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](../../java/util/stream/IntStream.html "interface in java.util.stream") 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](../../java/lang/Character.html#toCodePoint-char-char-) 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_](../util/Spliterator.html#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
Report a bug or suggest an enhancement
For further API reference and developer documentation see the Java SE Documentation, which contains more detailed, developer-targeted descriptions with conceptual overviews, definitions of terms, workarounds, and working code examples.
Java is a trademark or registered trademark of Oracle and/or its affiliates in the US and other countries.
Copyright © 1993, 2017, Oracle and/or its affiliates, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
All rights reserved. Use is subject to license terms and the documentation redistribution policy.