- 已知的所有子接口:
-
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 TypeMethodDescriptionchar
charAt
(int index) 返回指定索引处的char
值。default IntStream
chars()
返回从该序列中的char
值零扩展的int
流。default IntStream
返回从该序列中的代码点值的流。static int
compare
(CharSequence cs1, CharSequence cs2) 按字典顺序比较两个CharSequence
实例。default boolean
isEmpty()
如果此字符序列为空,则返回true
。int
length()
返回此字符序列的长度。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 的CharSequence
cs 视为一系列 char 值,从 cs[0] 到 cs[len-1]。假设 k 是每个序列中相应的 char 值不同的最低索引。序列的字典顺序由 char 值 cs1[k] 与 cs2[k] 的数字比较确定。如果没有这样的索引 k,则较短的序列被认为按字典顺序小于另一个序列。如果序列具有相同的长度,则认为序列在字典顺序上相等。- 参数:
-
cs1
- 第一个CharSequence
-
cs2
- 第二个CharSequence
- 返回结果:
-
如果两个
CharSequence
相等,则返回值0
;如果第一个CharSequence
按字典顺序小于第二个,则返回负整数;如果第一个CharSequence
按字典顺序大于第二个,则返回正整数。 - 自 JDK 版本:
- 11
-