-
- All Known Subinterfaces:
-
Name
- 所有已知实现类:
-
CharBuffer
,Segment
,String
,StringBuffer
,StringBuilder
public interface CharSequence
CharSequence
是char
值的可读序列。 该接口提供对许多不同类型的char
序列的统一,只读访问。char
值表示基本多语言平面(BMP)中的字符或代理项。 有关详细信息,请参阅Unicode Character Representation 。此接口不会细化
equals
和hashCode
方法的常规合同。 因此,测试实现CharSequence
两个对象的相等性的结果通常是未定义的。 每个对象可以由不同的类实现,并且不能保证每个类都能够测试其实例与另一个类的实例是否相等。 因此,将任意CharSequence
实例用作集合中的元素或映射中的键是不合适的。- 从以下版本开始:
- 1.4
-
-
方法摘要
所有方法 静态方法 实例方法 抽象方法 Default Methods 变量和类型 方法 描述 char
charAt(int index)
返回指定索引处的char
值。default IntStream
chars()
返回int
的流,对此序列中的char
值进行零扩展。default IntStream
codePoints()
返回此序列中的代码点值流。static int
compare(CharSequence cs1, CharSequence cs2)
CharSequence
字典顺序比较两个CharSequence
实例。int
length()
返回此字符序列的长度。CharSequence
subSequence(int start, int end)
返回CharSequence
,它是此序列的子序列。String
toString()
以与此序列相同的顺序返回包含此序列中字符的字符串。
-
-
-
方法详细信息
-
length
int length()
返回此字符序列的长度。 长度是序列中16位char
的数量。- 结果
-
此序列中的数量为
char
-
charAt
char charAt(int index)
返回指定索引处的char
值。 索引范围为0到length() - 1
。 序列的第一个char
值在索引0处,下一个在索引1处,依此类推,就像数组索引一样。如果索引指定的
char
值为surrogate ,则返回代理值。- 参数
-
index
- 要返回的char
值的索引 - 结果
-
指定的
char
值 - 异常
-
IndexOutOfBoundsException
- 如果index
参数为负数或不小于length()
-
subSequence
CharSequence subSequence(int start, int end)
返回CharSequence
,它是此序列的子序列。 该子序列与所述启动char
指定索引处值和与所述结束char
在索引值end - 1
。 的长度(以char
返回序列的s)为end - start
,因此,如果start == end
,则返回一个空的序列。- 参数
-
start
- 起始索引,包括 -
end
- 最终索引,独家 - 结果
- 指定的子序列
- 异常
-
IndexOutOfBoundsException
- 如果start
或end
为负数,如果end
大于length()
,或者start
大于end
-
toString
String toString()
以与此序列相同的顺序返回包含此序列中字符的字符串。 字符串的长度将是该序列的长度。
-
chars
default IntStream chars()
返回int
的流,对此序列中的char
值进行零扩展。 映射到surrogate code point的任何字符都是未解释的。当终端流操作开始时,流绑定到该序列(具体地,对于可变序列,流的分裂器是late-binding )。 如果在该操作期间修改了序列,则结果是未定义的。
- 结果
- 来自此序列的char值的IntStream
- 从以下版本开始:
- 1.8
-
codePoints
default IntStream codePoints()
返回此序列中的代码点值流。 序列中遇到的任何代理对都被组合,就好像是Character.toCodePoint ,结果传递给流。 任何其他代码单元(包括普通BMP字符,未配对代理项和未定义代码单元)都将零扩展为int
值,然后将int
值传递给流。当终端流操作开始时,流绑定到该序列(具体地,对于可变序列,流的分裂器是late-binding )。 如果在该操作期间修改了序列,则结果是未定义的。
- 结果
- Unicode代码的IntStream指向此序列
- 从以下版本开始:
- 1.8
-
compare
static int compare(CharSequence cs1, CharSequence cs2)
CharSequence
字典顺序比较两个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
负整数; 如果第一个CharSequence
字典顺序大于第二个,CharSequence
正整数。 - 从以下版本开始:
- 11
-
-