- 已知的所有子接口:
-
Name
- 已知的所有实现类:
-
CharBuffer,Segment,String,StringBuffer,StringBuilder
public interface CharSequence
CharSequence 是一系列可读取的 char 值。该接口提供对许多不同类型的 char 序列的统一、只读访问。一个 char 值代表 基本多文种平面(BMP) 中的字符或代理项。有关详细信息,请参阅Unicode字符表示。
该接口不规定 equals 和 hashCode 方法的一般约定。因此,测试实现 CharSequence 接口的两个对象的相等性的结果通常是未定义的。每个对象可能由不同的类实现,并且不能保证每个类都能够测试其实例与其他实例的相等性。因此,不适合将任意的 CharSequence 实例用作集合中的元素或映射中的键。
- 自 JDK 版本:
- 1.4
-
Method Summary
Modifier and TypeMethodDescriptioncharcharAt(int index) 返回指定索引处的char值。default IntStreamchars()返回从该序列中的char值零扩展的int流。default IntStream返回从该序列中的代码点值的流。static intcompare(CharSequence cs1, CharSequence cs2) 按字典顺序比较两个CharSequence实例。default booleanisEmpty()如果此字符序列为空,则返回true。intlength()返回此字符序列的长度。subSequence(int start, int end) 返回此序列的子序列的CharSequence。toString()返回一个字符串,其中包含与该序列中的字符顺序相同的字符。
-
Method Details
-
length
int length()返回此字符序列的长度。长度是序列中 16 位char的数量。- 返回结果:
-
此序列中的
char数量
-
charAt
char charAt(int index) 返回指定索引处的char值。索引范围从零到length() - 1。序列的第一个char值位于索引零,下一个位于索引一,依此类推,就像数组索引一样。如果索引指定的
char值是一个 代理项,则返回代理项值。- 参数:
-
index- 要返回的char值的索引 - 返回结果:
-
指定的
char值 - 抛出:
-
IndexOutOfBoundsException- 如果index参数为负数或不小于length()
-
isEmpty
default boolean isEmpty()如果此字符序列为空,则返回true。- 实现要求:
-
默认实现返回调用
length() == 0的结果。 - 返回结果:
-
如果
length()为0,则返回true,否则返回false - 自 JDK 版本:
- 15
-
subSequence
返回此序列的子序列的CharSequence。子序列从指定索引处的char值开始,并以索引end - 1处的char值结束。返回序列的长度(以char为单位)为end - start,因此如果start == end,则返回一个空序列。- 参数:
-
start- 起始索引(包括) -
end- 结束索引(不包括) - 返回结果:
- 指定的子序列
- 抛出:
-
IndexOutOfBoundsException- 如果start或end为负数,如果end大于length(),或者如果start大于end
-
toString
String toString()返回一个字符串,其中包含与该序列中的字符顺序相同的字符。字符串的长度将是此序列的长度。 -
chars
返回从该序列中的char值零扩展的int流。任何映射到 代理项代码点 的字符都将不加解释地传递。当终端流操作开始时(具体来说,对于可变序列,流的分割器是延迟绑定),流将绑定到此序列。如果在该操作期间修改了序列,则结果是未定义的。
- 返回结果:
- 从此序列中的 char 值的 IntStream
- 自 JDK 版本:
- 1.8
-
codePoints
返回从该序列中的代码点值的流。在序列中遇到的代理对将被组合,就像通过 Character.toCodePoint,并将结果传递给流。任何其他代码单元,包括普通的 BMP 字符、未配对的代理项和未定义的代码单元,都将被零扩展为int值,然后传递给流。当终端流操作开始时(具体来说,对于可变序列,流的分割器是延迟绑定),流将绑定到此序列。如果在该操作期间修改了序列,则结果是未定义的。
- 返回结果:
- 从此序列中的 Unicode 代码点的 IntStream
- 自 JDK 版本:
- 1.8
-
compare
按字典顺序比较两个CharSequence实例。如果第一个序列按字典顺序小于、等于或大于第二个序列,则返回负值、零或正值。CharSequence的字典顺序定义如下。将长度为 len 的CharSequencecs 视为一系列 char 值,从 cs[0] 到 cs[len-1]。假设 k 是每个序列中相应的 char 值不同的最低索引。序列的字典顺序由 char 值 cs1[k] 与 cs2[k] 的数字比较确定。如果没有这样的索引 k,则较短的序列被认为按字典顺序小于另一个序列。如果序列具有相同的长度,则认为序列在字典顺序上相等。- 参数:
-
cs1- 第一个CharSequence -
cs2- 第二个CharSequence - 返回结果:
-
如果两个
CharSequence相等,则返回值0;如果第一个CharSequence按字典顺序小于第二个,则返回负整数;如果第一个CharSequence按字典顺序大于第二个,则返回正整数。 - 自 JDK 版本:
- 11
-