モジュール java.base
パッケージ java.lang

インタフェースCharSequence

既知のすべてのサブインタフェース:
Name
既知のすべての実装クラス:
CharBuffer, Segment, String, StringBuffer, StringBuilder

public interface CharSequence
CharSequencechar値の読取り可能なシーケンスです。 このインタフェースは、さまざまな種類のcharシーケンスへの統一された読取り専用アクセスを提供します。 char値は、基本多言語面(BMP)またはサロゲートの文字を表します。 詳細は、Unicode文字表現を参照してください。

このインタフェースは、equalsメソッドとhashCodeメソッドの汎用規約を洗練させるものではありません。 このため、等価性のためにCharSequenceを実装する2つのオブジェクトのテスト結果は一般に未定義です。 各オブジェクトを異なるクラスを使用して実装できるため、各クラスがそのインスタンスをほかのクラスのインスタンスと等価かどうか検査できるという保証はありません。 したがって、セットの要素としてまたはマップのキーとして、任意のCharSequenceインスタンスを使うのは不適切です。

導入されたバージョン:
1.4
  • メソッドのサマリー

    修飾子と型 メソッド 説明
    char charAt​(int index)
    指定されたインデックスのchar値を返します。
    default IntStream chars()
    このシーケンスのchar値をゼロ拡張したintを含むストリームを返します。
    default IntStream codePoints()
    このシーケンスからコード・ポイント値のストリームを返します。
    static int compare​(CharSequence cs1, CharSequence cs2)
    2つのCharSequenceインスタンスを辞書的に比較します。
    default boolean isEmpty()
    この文字シーケンスが空の場合、trueを返します。
    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値がサロゲートの場合、サロゲート値が返されます。

      パラメータ:
      index - 返されるchar値のインデックス
      戻り値:
      指定されたchar
      例外:
      IndexOutOfBoundsException - index引数が負の値またはlength()より小さい場合
    • isEmpty

      default boolean isEmpty()
      この文字シーケンスが空の場合、trueを返します。
      実装要件:
      デフォルトの実装では、length() == 0をコールした結果が返されます。
      戻り値:
      length()0の場合はtrue、それ以外の場合はfalse
      導入されたバージョン:
      15
    • subSequence

      CharSequence subSequence​(int start, int end)
      このシーケンスのサブシーケンスであるCharSequenceを返します。 サブシーケンスは、指定されたインデックスのchar値で始まり、インデックスend - 1char値で終わります。 返される(charの)シーケンスの長さはend - startです。このため、start == endの場合、空のシーケンスが返されます。
      パラメータ:
      start - 開始インデックス(この値を含む)
      end - 終了インデックス(この値を含まない)
      戻り値:
      指定されたサブシーケンス
      例外:
      IndexOutOfBoundsException - startまたはendが負の値の場合、endlength()よりも大きい場合、あるいはstartendよりも大きい場合
    • toString

      String toString()
      このシーケンス内の文字を含む文字列を、このシーケンスと同じ順序で返します。 このシーケンスの長さが、文字列の長さになります。
      オーバーライド:
      toString 、クラス:  Object
      戻り値:
      この文字列シーケンスだけで構成された文字列
    • chars

      default IntStream chars()
      このシーケンスのchar値をゼロ拡張したintを含むストリームを返します。 サロゲート・コード・ポイントにマップするすべてのcharは、解釈されずに渡されます。

      ストリームは、ターミナル・ストリーム操作が(具体的には、可変シーケンスの場合、ストリームのスプライテータはlate-binding)で始まるときにこのシーケンスにバインドされます。 その操作中にシーケンスが変更された場合、結果は未定義です。

      戻り値:
      このシーケンスのchar値のIntStream
      導入されたバージョン:
      1.8
    • codePoints

      default IntStream codePoints()
      このシーケンスからコード・ポイント値のストリームを返します。 そのシーケンスで検出されるサロゲート・ペアがすべて、Character.toCodePointを使用した場合のように結合され、結果がストリームに渡されます。 他のすべてのコード(通常のBMP文字、ペアになっていないサロゲート、未定義のコード単位など)はint値にゼロ拡張されたあと、ストリームに渡されます。

      ストリームは、ターミナル・ストリーム操作が(具体的には、可変シーケンスの場合、ストリームのスプライテータはlate-binding)で始まるときにこのシーケンスにバインドされます。 その操作中にシーケンスが変更された場合、結果は未定義です。

      戻り値:
      このシーケンスからのUnicodeコード・ポイントのIntStream
      導入されたバージョン:
      1.8
    • compare

      static int compare​(CharSequence cs1, CharSequence cs2)
      2つのCharSequenceインスタンスを辞書的に比較します。 最初の順序が辞書的に小さい場合、等しい場合、または2番目の値以上の場合は、それぞれ負の値のゼロまたは正の値を返します。

      CharSequenceの辞書的な順序付けは、次のように定義されています。 たとえば、CharSequence csの長さがlenで、文字値の順序が[0]からcs [len-1]であるとします。 kが、各順序の対応する文字値が異なる最低の索引であるとします。 順序の辞書的な順序付けは、cs1 [k]cs2 [k]の文字値の数値比較によって決まります。 このような索引kがない場合、短い順序は辞書的に小さいとみなされます。 順序の長さが同じ場合、順序は辞書的に同等とみなされます。

      パラメータ:
      cs1 - 最初のCharSequence
      cs2 - 2番目のCharSequence
      戻り値:
      2つのCharSequenceが等しい場合は0、最初のCharSequenceが辞書的に2番目より小さい場合は負の整数、最初のCharSequenceが辞書的に2番目の文字より大きい場合は正の整数。
      導入されたバージョン:
      11