模块  java.base
软件包  java.lang

Interface CharSequence

  • All Known Subinterfaces:
    Name
    所有已知实现类:
    CharBufferSegmentStringStringBufferStringBuilder

    public interface CharSequence
    CharSequencechar值的可读序列。 该接口提供对许多不同类型的char序列的统一,只读访问。 char值表示基本多语言平面(BMP)中的字符或代理项。 有关详细信息,请参阅Unicode Character Representation

    此接口不会细化equalshashCode方法的常规合同。 因此,测试实现CharSequence两个对象的相等性的结果通常是未定义的。 每个对象可以由不同的类实现,并且不能保证每个类都能够测试其实例与另一个类的实例是否相等。 因此,将任意CharSequence实例用作集合中的元素或映射中的键是不合适的。

    从以下版本开始:
    1.4
    • 方法详细信息

      • 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 - 如果 startend为负数,如果 end大于 length() ,或者 start大于 end
      • toString

        String toString()
        以与此序列相同的顺序返回包含此序列中字符的字符串。 字符串的长度将是该序列的长度。
        重写:
        toString在类 Object
        结果
        一个字符串,由这个字符序列组成
      • 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的字典顺序定义如下。 考虑长度为lenCharSequence 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