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