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

クラスCharBuffer

java.lang.Object
java.nio.Buffer
java.nio.CharBuffer
すべての実装されたインタフェース:
Appendable, CharSequence, Comparable<CharBuffer>, Readable

public abstract sealed class CharBuffer extends Buffer implements Comparable<CharBuffer>, Appendable, CharSequence, Readable
charバッファです。

このクラスは、charバッファに対する操作を4つのカテゴリに分類します。

  • 単一char値の読み込みと書込みを行う絶対および相対get/putメソッド。

  • 連続する文字シーケンスをこのバッファから配列に転送する絶対および相対的なbulk getメソッド

  • 文字配列、文字列またはその他の文字バッファから連続する文字シーケンスをこのバッファに転送する、絶対および相対的なbulk putメソッド

  • charバッファをcompactingするためのメソッド。

charバッファを作成するには、バッファの内容に容量を割り当てる割り当てを実行するか、既存のchar配列や文字列をバッファ内にラップするか、既存のbyteバッファのビューを作成します。

byteバッファと同様に、charバッファにもダイレクト」と「非ダイレクトがあります。 このクラスのwrapメソッドを介して作成されたcharバッファは、ダイレクトではありません。 byteバッファのビューとして作成されたcharバッファは、byteバッファがダイレクト・バッファである場合にかぎりダイレクト・バッファになります。 charバッファがダイレクト・バッファかどうかは、isDirectメソッドの呼出しによって判断できます。

このクラスはCharSequenceインタフェースを実装しているため、正規表現パッケージjava.util.regexなどの文字シーケンスが受け入れられる場所であればどこでも文字バッファを使用できます。 CharSequenceによって定義されたメソッドは、呼び出されたときに、バッファの現在の位置を基準として処理されます。

このクラスのメソッドのうち戻り値を返さないものは、自身を呼び出したバッファの情報を返します。 これを応用して、メソッド呼出しを連鎖させることができます。 たとえば、次のような連続した文があるとしましょう。

    cb.put("text/");
    cb.put(subtype);
    cb.put("; charset=");
    cb.put(enc);
これらは、次の一文で置き換えられます。
    cb.put("text/").put(subtype).put("; charset=").put(enc);

オプションの操作

オプションの操作として指定されたメソッドは、read-only CharBufferで呼び出されるとReadOnlyBufferExceptionをスローします。 CharBufferが「アクセス可能なchar配列」 (CharBufferが読取り専用かどうかに関係なく)に支えられていない場合、メソッド「配列」およびarrayOffsetUnsupportedOperationExceptionをスローします。
導入されたバージョン:
1.4