- 所有已知的子接口:
Name
- 所有已知的实现类:
CharBuffer,Segment,String,StringBuffer,StringBuilder
public interface CharSequence
CharSequence 是 char 值的可读序列。此接口提供对许多不同类型的char序列的统一、只读访问。 char 值表示基本多语言平面 (BMP)或代理人。有关详细信息,请参阅 Unicode 字符表示。
此接口不细化 equals 和 hashCode 方法的通用契约。因此,测试两个实现 CharSequence 的对象是否相等的结果通常是未定义的。每个对象都可以由不同的类实现,并且不能保证每个类都能够测试其实例与其他类的实例是否相等。因此,使用任意 CharSequence 实例作为集合中的元素或map中的键是不合适的。
- 自从:
- 1.4
-
方法总结
修饰符和类型方法描述charcharAt(int index) 返回指定索引处的char值。default IntStreamchars()返回一个int流,对该序列的char值进行零扩展。default IntStream返回此序列中的代码点值流。static intcompare(CharSequence cs1, CharSequence cs2) 按字典顺序比较两个CharSequence实例。default booleanisEmpty()如果此字符序列为空,则返回true。intlength()返回此字符序列的长度。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值结束。返回序列的长度(以chars 为单位)为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的字典顺序定义如下。考虑一个CharSequenceCS长度len是一系列 char 值,CS[0]到CS[len-1].认为k是每个序列的相应 char 值不同的最低索引。序列的词典顺序由 char 值的数字比较确定CS1[k]和CS2[k].如果没有这样的索引k,较短的序列在字典序上被认为小于另一个。如果序列具有相同的长度,则认为这些序列在字典序上相等。- 参数:
cs1- 第一个CharSequencecs2- 第二个CharSequence- 返回:
-
如果两个
CharSequence相等,则值为0;如果第一个CharSequence按字典顺序小于第二个,则为负整数;如果第一个CharSequence在字典序上大于第二个,则为正整数。 - 自从:
- 11
-