- java.lang.Object
-
- java.nio.Buffer
-
- java.nio.CharBuffer
-
- すべての実装されたインタフェース:
Appendable
,CharSequence
,Comparable<CharBuffer>
,Readable
public abstract class CharBuffer extends Buffer implements Comparable<CharBuffer>, Appendable, CharSequence, Readable
charバッファです。このクラスは、charバッファに対する操作を4つのカテゴリに分類します。
連続したcharシーケンスをこのバッファから配列へと転送する相対
一括get
メソッド。連続したcharシーケンスをchar配列、文字列またはその他のcharバッファからこのバッファへと転送する相対
一括put
メソッド。charバッファの
compacting
メソッドです。
charバッファを作成するには、バッファの内容に容量を割り当てる
割り当て
を実行するか、既存のchar配列や文字列をバッファ内にラップ
するか、既存のbyteバッファのビューを作成します。byteバッファと同様に、charバッファにもダイレクトと非ダイレクトがあります。 このクラスの
wrap
メソッドで作成されたcharバッファは非ダイレクト・バッファになります。 byteバッファのビューとして作成されたcharバッファは、byteバッファがダイレクト・バッファである場合にかぎりダイレクト・バッファになります。 charバッファがダイレクト・バッファかどうかは、isDirect
メソッドの呼出しによって判断できます。このクラスは
CharSequence
インタフェースを実装しているため、正規表現パッケージjava.util.regex
などの文字シーケンスが受け入れられる場所であればどこでも文字バッファを使用できます。このクラスのメソッドのうち戻り値を返さないものは、自身を呼び出したバッファの情報を返します。 これを応用して、メソッド呼出しを連鎖させることができます。 たとえば、次のような連続した文があるとしましょう。
これらは、次の一文で置き換えられます。cb.put("text/"); cb.put(subtype); cb.put("; charset="); cb.put(enc);
cb.put("text/").put(subtype).put("; charset=").put(enc);
- 導入されたバージョン:
- 1.4
-
-
メソッドのサマリー
修飾子と型 メソッド 説明 static CharBuffer
allocate(int capacity)
新しいcharバッファを割り当てます。CharBuffer
append(char c)
指定されたcharをこのバッファに追加します (オプションの操作)。CharBuffer
append(CharSequence csq)
指定されたcharシーケンスをこのバッファに追加します (オプションの操作)。CharBuffer
append(CharSequence csq, int start, int end)
指定されたcharシーケンスのサブシーケンスをこのバッファに追加します (オプションの操作)。char[]
array()
このバッファを補助するchar配列を返します (オプションの操作)。int
arrayOffset()
このバッファの補助配列内にある、このバッファの最初の要素のオフセットを返します (オプションの操作)。abstract CharBuffer
asReadOnlyBuffer()
このバッファの内容を共有する新しい読込み専用charバッファを作成します。char
charAt(int index)
現在位置からの相対位置として指定されたインデックス位置にあるcharを読み込みます。abstract CharBuffer
compact()
このバッファを圧縮します (オプションの操作)。int
compareTo(CharBuffer that)
このバッファを別のバッファと比較します。abstract CharBuffer
duplicate()
このバッファの内容を共有する新しいcharバッファを作成します。boolean
equals(Object ob)
このバッファが別のオブジェクトと等価であるかどうかを判断します。abstract char
get()
相対getメソッドです。CharBuffer
get(char[] dst)
相対一括getメソッドです。CharBuffer
get(char[] dst, int offset, int length)
相対一括getメソッドです。abstract char
get(int index)
絶対getメソッドです。boolean
hasArray()
このバッファがアクセス可能なchar配列に連動するかどうかを判断します。int
hashCode()
このバッファの現在のハッシュ・コードを返します。abstract boolean
isDirect()
このcharバッファがダイレクト・バッファであるかどうかを判断します。int
length()
このcharバッファのバッファ長を返します。int
mismatch(CharBuffer that)
このバッファと指定されたバッファの最初の不一致の相対索引を検索して戻します。abstract ByteOrder
order()
このバッファのbyte順序を取得します。abstract CharBuffer
put(char c)
相対putメソッドです (オプションの操作)。CharBuffer
put(char[] src)
相対一括putメソッドです (オプションの操作)。CharBuffer
put(char[] src, int offset, int length)
相対一括putメソッドです (オプションの操作)。abstract CharBuffer
put(int index, char c)
絶対putメソッドです (オプションの操作)。CharBuffer
put(String src)
相対一括putメソッドです (オプションの操作)。CharBuffer
put(String src, int start, int end)
相対一括putメソッドです (オプションの操作)。CharBuffer
put(CharBuffer src)
相対一括putメソッドです (オプションの操作)。int
read(CharBuffer target)
指定されたcharバッファにcharを読み込みます。abstract CharBuffer
slice()
このバッファの内容の共有のサブシーケンスを内容とする新しいcharバッファを作成します。abstract CharBuffer
subSequence(int start, int end)
このバッファの指定されたサブシーケンス(現在位置からの相対位置)を表す新しいcharバッファを作成します。String
toString()
このバッファ内に残っているcharを含む文字列を返します。static CharBuffer
wrap(char[] array)
char配列をバッファにラップします。static CharBuffer
wrap(char[] array, int offset, int length)
char配列をバッファにラップします。static CharBuffer
wrap(CharSequence csq)
charシーケンスをバッファにラップします。static CharBuffer
wrap(CharSequence csq, int start, int end)
charシーケンスをバッファにラップします。-
クラス java.nio.Bufferで宣言されたメソッド
capacity, clear, flip, hasRemaining, isReadOnly, limit, limit, mark, position, position, remaining, reset, rewind
-
インタフェース java.lang.CharSequenceで宣言されたメソッド
chars, codePoints
-
-
-
-
メソッドの詳細
-
allocate
public static CharBuffer allocate(int capacity)
新しいcharバッファを割り当てます。新しいバッファの位置は0になり、その限界はその容量になり、マークは未定義になり、各要素はゼロに初期化され、バイト・オーダーは基礎となるハードウェアの
native order
になります。補助配列
を持ち、配列オフセット
はゼロになります。- パラメータ:
capacity
- 新しいバッファの容量(char)- 戻り値:
- 新しいcharバッファ
- 例外:
IllegalArgumentException
-capacity
が負の整数である場合
-
wrap
public static CharBuffer wrap(char[] array, int offset, int length)
char配列をバッファにラップします。新しいバッファは指定されたchar配列によって補助されます。バッファに変更を加えると配列も変更され、配列に変更を加えるとバッファも変更されます。 新しいバッファの容量は
array.length
になり、その位置はoffset
になり、その制限はoffset + length
になり、そのマークは未定義となり、そのバイト順序は基盤となるハードウェアのnative order
になります。 指定された配列が補助配列
となり、その配列オフセット
はゼロになります。- パラメータ:
array
- 新しいバッファを補助する配列offset
-使用するサブ配列のオフセット。array.length
以下の負でない値でなければならない。 新しいバッファの位置は、この値に設定される。length
- 使用するサブ配列の長さ。array.length - offset
以下の負でない値でなければならない。 新しいバッファのリミットは、offset+length
に設定される。- 戻り値:
- 新しいcharバッファ
- 例外:
IndexOutOfBoundsException
-offset
パラメータとlength
パラメータの前提条件が満たされていない場合
-
wrap
public static CharBuffer wrap(char[] array)
char配列をバッファにラップします。新しいバッファは指定されたchar配列によって補助されます。バッファに変更を加えると配列も変更され、配列に変更を加えるとバッファも変更されます。 新しいバッファの容量と限界は
array.length
になり、その位置はゼロになり、マークは未定義になり、そのバイト・オーダーは基盤となるハードウェアのnative order
になります。 指定された配列が補助配列
となり、その配列オフセット
はゼロになります。- パラメータ:
array
- このバッファを補助する配列- 戻り値:
- 新しいcharバッファ
-
read
public int read(CharBuffer target) throws IOException
指定されたcharバッファにcharを読み込みます。 バッファは、put操作の結果により変更される以外は、文字列そのままのリポジトリとして使用されます。 バッファのフリッピング(反転)やリワインド(巻き戻し)は行われません。- 定義:
read
、インタフェース:Readable
- パラメータ:
target
- charを読み込むバッファ- 戻り値:
- バッファに追加されたcharの数。charのソースが最後の位置にある場合は -1
- 例外:
IOException
- 入出力エラーが発生した場合NullPointerException
- targetがnullの場合ReadOnlyBufferException
- targetが読取り専用バッファの場合- 導入されたバージョン:
- 1.5
-
wrap
public static CharBuffer wrap(CharSequence csq, int start, int end)
charシーケンスをバッファにラップします。新しい読取り専用バッファの内容は、指定されたcharシーケンスの内容になります。 新しいバッファの容量は
csq.length()
、位置はstart
、リミットはend
になり、マークは定義されません。- パラメータ:
csq
- 作成される新しいcharバッファの元になるcharシーケンスstart
- 使用される最初のcharを示すインデックス。csq.length()
以下の負でない値でなければならない。 新しいバッファの位置は、この値に設定される。end
- 使用される最後のcharのあとに続くcharを示すインデックス。start
以上、csq.length()
以下の値でなければならない。 新しいバッファのリミットは、この値に設定される。- 戻り値:
- 新しいcharバッファ
- 例外:
IndexOutOfBoundsException
-start
パラメータとend
パラメータの前提条件が満たされていない場合
-
wrap
public static CharBuffer wrap(CharSequence csq)
charシーケンスをバッファにラップします。新しい読取り専用バッファの内容は、指定されたcharシーケンスの内容になります。 新しいバッファの容量とリミットは
csq.length()
、位置はゼロになり、マークは定義されません。- パラメータ:
csq
- 作成される新しいcharバッファの元になるcharシーケンス- 戻り値:
- 新しいcharバッファ
-
slice
public abstract CharBuffer slice()
このバッファの内容の共有のサブシーケンスを内容とする新しいcharバッファを作成します。新しいバッファの内容は、このバッファの現在位置から始まります。 このバッファの内容に変更を加えると、その内容が新しいバッファに反映されます。新しいバッファの内容に変更を加えると、その内容がこのバッファに反映されます。2つのバッファの位置、リミット、マークの値はそれぞれ異なります。
新しいバッファの位置はゼロになり、その容量と限界はこのバッファに残っている文字の数になり、そのマークは未定義となり、そのバイト順序はこのバッファの順序と同じになります。 新しいバッファは、このバッファがダイレクト・バッファである場合にかぎりダイレクト・バッファになります。また、このバッファが読取り専用バッファである場合にかぎり読取り専用バッファになります。
-
duplicate
public abstract CharBuffer duplicate()
このバッファの内容を共有する新しいcharバッファを作成します。新しいバッファの内容は、このバッファの内容と同じになります。 このバッファの内容に変更を加えると、その内容が新しいバッファに反映されます。新しいバッファの内容に変更を加えると、その内容がこのバッファに反映されます。2つのバッファの位置、リミット、マークの値はそれぞれ異なります。
新しいバッファ容量、限界、位置、マーク値、およびバイト順は、このバッファのものと同じになります。 新しいバッファは、このバッファがダイレクト・バッファである場合にかぎりダイレクト・バッファになります。また、このバッファが読取り専用バッファである場合にかぎり読取り専用バッファになります。
-
asReadOnlyBuffer
public abstract CharBuffer asReadOnlyBuffer()
このバッファの内容を共有する新しい読込み専用charバッファを作成します。新しいバッファの内容は、このバッファの内容と同じになります。 このバッファの内容に変更を加えると、その内容が新しいバッファに反映されます。しかし、新しいバッファ自体は読取り専用であり、その共有内容を変更することはできません。 2つのバッファの位置、リミット、マークの値はそれぞれ異なります。
新しいバッファ容量、限界、位置、マーク値、およびバイト順は、このバッファのものと同じになります。
このバッファ自身が読込み専用の場合は、このメソッドは
duplicate
と同じように動作します。- 戻り値:
- 新しい読込み専用charバッファ
-
get
public abstract char get()
相対getメソッドです。 バッファの現在位置のcharを読み込み、現在位置の値を増加します。- 戻り値:
- バッファの現在位置のchar
- 例外:
BufferUnderflowException
- バッファの現在位置がリミット以上である場合
-
put
public abstract CharBuffer put(char c)
相対putメソッドです (オプションの操作)。バッファの現在位置に指定されたcharを書き込み、現在位置の値を増加します。
- パラメータ:
c
- 書き込まれるchar- 戻り値:
- このバッファ
- 例外:
BufferOverflowException
- このバッファの現在位置がリミット以上である場合ReadOnlyBufferException
- このバッファが読込み専用である場合
-
get
public abstract char get(int index)
絶対getメソッドです。 指定されたインデックス位置のcharを読み込みます。- パラメータ:
index
- charの読込み位置を示すインデックス- 戻り値:
- 指定されたインデックス位置のchar
- 例外:
IndexOutOfBoundsException
-index
が負の数である場合、またはバッファのリミット以上である場合
-
put
public abstract CharBuffer put(int index, char c)
絶対putメソッドです (オプションの操作)。このバッファの指定されたインデックス位置に指定されたcharを書き込みます。
- パラメータ:
index
- charの書込み先を示すインデックスc
- 書き込まれるchar値- 戻り値:
- このバッファ
- 例外:
IndexOutOfBoundsException
-index
が負の数である場合、またはバッファのリミット以上である場合ReadOnlyBufferException
- このバッファが読込み専用である場合
-
get
public CharBuffer get(char[] dst, int offset, int length)
相対一括getメソッドです。このメソッドは、このバッファから指定された配列へcharを転送します。 このバッファ内に残っているchar数が要求に満たない場合(つまり、
length
>
remaining()
である場合)、charは一切転送されず、BufferUnderflowException
がスローされます。それ以外の場合、このメソッドは、
length
個のcharを、このバッファの現在位置から指定された配列の指定されたオフセット位置へコピーします。 そのたびに、このバッファの位置がlength
ずつ増加します。このメソッドを
src.get(dst, off, len)
の形式で呼び出すと、次のループとまったく同じ結果になります。
ただし、このバッファ内に十分な数のchar数があることを最初に確認する動作は除きます。また、このメソッドを使用したほうがループよりもはるかに効率的です。for (int i = off; i < off + len; i++) dst[i] = src.get();
- パラメータ:
dst
- charの書込み先となる配列offset
- 最初のcharの書込み先となる配列内のオフセット。dst.length
以下の負でない値でなければならないlength
- 指定された配列に書き込まれる最大char数。dst.length - offset
以下の負でない値でなければならない- 戻り値:
- このバッファ
- 例外:
BufferUnderflowException
- このバッファ内に残っているchar数がlength
よりも少ない場合IndexOutOfBoundsException
-offset
パラメータとlength
パラメータの前提条件が満たされていない場合
-
get
public CharBuffer get(char[] dst)
相対一括getメソッドです。このメソッドは、このバッファから指定された配列へcharを転送します。 このメソッドを
src.get(a)
の形式で呼び出すと、次の呼び出しと同じ結果になります。src.get(a, 0, a.length)
- パラメータ:
dst
- コピー先配列- 戻り値:
- このバッファ
- 例外:
BufferUnderflowException
- このバッファ内に残っているchar数がlength
よりも少ない場合
-
put
public CharBuffer put(CharBuffer src)
相対一括putメソッドです (オプションの操作)。このメソッドは、指定されたソース・バッファ内に残っているcharをこのバッファへ転送します。 ソース・バッファ内に残っているchar数がこのバッファ内に残っているchar数よりも多い場合(つまり、
src.remaining()
>
remaining()
である場合)、charは一切転送されず、BufferOverflowException
がスローされます。それ以外の場合、このメソッドは、指定されたバッファの現在位置からこのバッファの現在位置へn =
src.remaining()
charをコピーします。 そのたびに、両方のバッファの位置がnずつ増加します。このメソッドを
dst.put(src)
の形式で呼び出すと、次のループとまったく同じ結果になります。while (src.hasRemaining()) dst.put(src.get());
ただし、このバッファ内に十分な容量があることを最初に確認する動作は除きます。また、このメソッドを使用したほうがループよりもはるかに効率的です。- パラメータ:
src
- charの読込み先となるソース・バッファ(このバッファ以外)- 戻り値:
- このバッファ
- 例外:
BufferOverflowException
- このバッファに、ソース・バッファ内に残っているcharを格納できるだけの容量がない場合IllegalArgumentException
- ソース・バッファとしてこのバッファを指定した場合ReadOnlyBufferException
- このバッファが読込み専用である場合
-
put
public CharBuffer put(char[] src, int offset, int length)
相対一括putメソッドです (オプションの操作)。このメソッドは、指定されたソース配列からこのバッファへcharを転送します。 配列からコピーするchar数がこのバッファ内に残っているchar数より多い場合(つまり、
length
>
remaining()
である場合)、charは一切転送されず、BufferOverflowException
がスローされます。それ以外の場合、このメソッドは、指定された配列の指定されたオフセット位置からこのバッファの現在位置へ
length
個のcharをコピーします。 そのたびに、このバッファの位置がlength
ずつ増加します。このメソッドを
dst.put(src, off, len)
の形式で呼び出すと、次のループとまったく同じ結果になります。
ただし、このバッファ内に十分な容量があることを最初に確認する動作は除きます。また、このメソッドを使用したほうがループよりもはるかに効率的です。for (int i = off; i < off + len; i++) dst.put(a[i]);
- パラメータ:
src
- charの読込み先となる配列offset
- 最初のcharの読込み先となる配列内のオフセット。array.length
以下の負でない値にする必要があるlength
- 指定された配列から読み取られるchar数。array.length - offset
以下の負でない値でなければならない- 戻り値:
- このバッファ
- 例外:
BufferOverflowException
- このバッファ内に残っている容量が不足している場合IndexOutOfBoundsException
-offset
パラメータとlength
パラメータの前提条件が満たされていない場合ReadOnlyBufferException
- このバッファが読込み専用である場合
-
put
public final CharBuffer put(char[] src)
相対一括putメソッドです (オプションの操作)。このメソッドは、ソースとなる指定されたchar配列の内容全体をこのバッファへ転送します。 このメソッドを
dst.put(a)
の形式で呼び出すと、次の呼び出しと同じ結果になります。dst.put(a, 0, a.length)
- パラメータ:
src
- 転送元配列- 戻り値:
- このバッファ
- 例外:
BufferOverflowException
- このバッファ内に残っている容量が不足している場合ReadOnlyBufferException
- このバッファが読込み専用である場合
-
put
public CharBuffer put(String src, int start, int end)
相対一括putメソッドです (オプションの操作)。このメソッドは、指定された文字列からこのバッファへcharを転送します。 文字列からコピーするchar数がこのバッファ内に残っているchar数より多い場合(つまり、
end - start
>
remaining()
である場合)、charは一切転送されず、BufferOverflowException
がスローされます。それ以外の場合、このメソッドは、指定された文字列の
start
インデックスからこのバッファの現在位置へn =end
-start
charをコピーします。 そのたびに、このバッファの位置がnずつ増加します。このメソッドを
dst.put(src, start, end)
の形式で呼び出すと、次のループとまったく同じ結果になります。
ただし、このバッファ内に十分な容量があることを最初に確認する動作は除きます。また、このメソッドを使用したほうがループよりもはるかに効率的です。for (int i = start; i < end; i++) dst.put(src.charAt(i));
- パラメータ:
src
- 文字列の読込み先となる配列start
- 最初のcharの読込み先となる文字列内のオフセット。string.length()
以下の負でない値にする必要があるend
- 最後のcharの読込み先となる文字列内のオフセット。string.length()
以下の負でない値にする必要がある- 戻り値:
- このバッファ
- 例外:
BufferOverflowException
- このバッファ内に残っている容量が不足している場合IndexOutOfBoundsException
-start
パラメータとend
パラメータの前提条件が満たされていない場合ReadOnlyBufferException
- このバッファが読込み専用である場合
-
put
public final CharBuffer put(String src)
相対一括putメソッドです (オプションの操作)。このメソッドは、指定されたソース文字列の内容全体をこのバッファへ転送します。 このメソッドを
dst.put(s)
の形式で呼び出すと、次の呼び出しと同じ結果になります。dst.put(s, 0, s.length())
- パラメータ:
src
- ソース文字列- 戻り値:
- このバッファ
- 例外:
BufferOverflowException
- このバッファ内に残っている容量が不足している場合ReadOnlyBufferException
- このバッファが読込み専用である場合
-
hasArray
public final boolean hasArray()
このバッファがアクセス可能なchar配列に連動するかどうかを判断します。このメソッドの戻り値が
true
であれば、array
およびarrayOffset
メソッドを安全に呼び出すことができます。
-
array
public final char[] array()
このバッファを補助するchar配列を返します (オプションの操作)。このバッファの内容に変更を加えると、返される配列の内容も変更されます。その逆も同様です。
このメソッドを呼び出す前に
hasArray
メソッドを呼び出し、このバッファがアクセス可能な補助配列を持っていることを確認します。- 定義:
array
、クラス:Buffer
- 戻り値:
- このバッファを補助する配列
- 例外:
ReadOnlyBufferException
- このバッファが配列に連動しており、しかも読込み専用である場合UnsupportedOperationException
- このバッファがアクセス可能な配列を利用しない場合
-
arrayOffset
public final int arrayOffset()
このバッファの補助配列内にある、このバッファの最初の要素のオフセットを返します (オプションの操作)。このバッファが配列に連動していれば、その位置pが配列のインデックスp +
arrayOffset()
と一致します。このメソッドを呼び出す前に
hasArray
メソッドを呼び出し、このバッファがアクセス可能な補助配列を持っていることを確認します。- 定義:
arrayOffset
、クラス:Buffer
- 戻り値:
- このバッファの配列内にある、このバッファの最初の要素のオフセット
- 例外:
ReadOnlyBufferException
- このバッファが配列に連動しており、しかも読込み専用である場合UnsupportedOperationException
- このバッファがアクセス可能な配列を利用しない場合
-
compact
public abstract CharBuffer compact()
このバッファを圧縮します (オプションの操作)。バッファの現在位置からリミットまでの間にcharが存在する場合、これらをバッファの先頭にコピーします。 つまり、インデックス位置p =
position()
のcharがインデックス・ゼロにコピーされ、インデックス位置p + 1のcharがインデックス1にコピーされるということです。インデックス位置limit()
- 1のcharがインデックスn =limit()
-1
- pにコピーされるまで、同様の処理が繰り返されます。 最終的にバッファの位置はn+1に設定され、リミットは容量の値と等しくなります。 マークは破棄されます。バッファの位置は、ゼロではなく、コピーされるchar数と等しくなります。したがって、このメソッドを呼び出したあと、すぐに別の相対putメソッドを呼び出すことができます。
- 戻り値:
- このバッファ
- 例外:
ReadOnlyBufferException
- このバッファが読込み専用である場合
-
isDirect
public abstract boolean isDirect()
このcharバッファがダイレクト・バッファであるかどうかを判断します。
-
hashCode
public int hashCode()
このバッファの現在のハッシュ・コードを返します。charバッファのハッシュ・コードは、バッファ内に残っている要素、すなわち
position()
からlimit()
-1
までの要素のみに依存します。バッファのハッシュ・コードは内容依存型です。今後バッファの内容が変更されないことが明らかでないかぎり、バッファをハッシュ・マップその他のデータ構造のキーとして使用することは避けてください。
- オーバーライド:
hashCode
、クラス:Object
- 戻り値:
- このバッファの現在のハッシュ・コード
- 関連項目:
Object.equals(java.lang.Object)
,System.identityHashCode(java.lang.Object)
-
equals
public boolean equals(Object ob)
このバッファが別のオブジェクトと等価であるかどうかを判断します。2つのcharバッファは、次の場合にかぎり等価です。
要素の型が同じである
バッファ内に残っている要素数が同じである
バッファ内に残っている要素のシーケンス(開始位置とは無関係)が各点で等しい(pointwise equal)
charバッファが、その他の型のオブジェクトと等価になることはありません。
- オーバーライド:
equals
、クラス:Object
- パラメータ:
ob
- このバッファと比較するオブジェクト- 戻り値:
- このバッファが指定されたオブジェクトと等価である場合にかぎり
true
- 関連項目:
Object.hashCode()
、HashMap
-
compareTo
public int compareTo(CharBuffer that)
このバッファを別のバッファと比較します。2つのcharバッファを比較する際は、バッファ内に残っている要素のシーケンスが辞書順に比較されます。このとき、双方のバッファ内に残っているシーケンスの開始位置は考慮されません。
Character.compare(char,char)
を呼び出したかのように、char
要素のペアが比較されます。charバッファとその他の型のオブジェクトを比較することはできません。
- 定義:
compareTo
、インタフェース:Comparable<CharBuffer>
- パラメータ:
that
- 比較対象のオブジェクト。- 戻り値:
- このバッファが指定されたバッファより小さい場合は負の整数、等しい場合はゼロ、大きい場合は正の整数
-
mismatch
public int mismatch(CharBuffer that)
このバッファと指定されたバッファの最初の不一致の相対索引を検索して戻します。 インデックスは各バッファのposition
に相対的であり、各バッファ(inclusive)の範囲が各バッファremaining
の範囲内で小さくなる。2つのバッファが共通プレフィクスを共有している場合、戻される索引は共通プレフィクスの長さとなり、各バッファ内のその索引の2つのバッファ間に不一致があることに従います。 一方のバッファがもう一方のバッファのプレフィクスである場合、戻された索引は各バッファ内の残りの要素の小さい方になり、残りの要素の数が多いバッファに対してのみ索引が有効になります。 それ以外の場合は、不一致はありません。
- パラメータ:
that
- このバッファと不一致をテストするためのバイト・バッファ- 戻り値:
- このバッファと指定されたバッファの最初の不一致の相対索引です。一致しない場合は -1です。
- 導入されたバージョン:
- 11
-
toString
public String toString()
このバッファ内に残っているcharを含む文字列を返します。また、結果として得られる文字列の最初のcharはこのバッファの位置にあるcharであるのに対して、最後のcharはインデックス位置
limit()
- 1にあるcharになります。 このメソッドを呼び出しても、バッファの位置は変わりません。- 定義:
toString
、インタフェース:CharSequence
- オーバーライド:
toString
、クラス:Object
- 戻り値:
- 指定された文字列
-
length
public final int length()
このcharバッファのバッファ長を返します。charシーケンスとして見た場合、charバッファのバッファ長(char数)は、位置の値以上、リミットの値より小さい値になります。この値は
remaining()
と等価です。- 定義:
length
、インタフェース:CharSequence
- 戻り値:
- このcharバッファのバッファ長
-
charAt
public final char charAt(int index)
現在位置からの相対位置として指定されたインデックス位置にあるcharを読み込みます。- 定義:
charAt
、インタフェース:CharSequence
- パラメータ:
index
- 読み取られるcharのインデックス(現在位置からの相対位置)。この値はremaining()
以下の負でない値でなければならない- 戻り値:
- インデックス位置
position() + index
にあるchar - 例外:
IndexOutOfBoundsException
-index
の前提条件が満たされていない場合
-
subSequence
public abstract CharBuffer subSequence(int start, int end)
このバッファの指定されたサブシーケンス(現在位置からの相対位置)を表す新しいcharバッファを作成します。新しいバッファは、このバッファの内容を共有します。つまり、このバッファの内容が変更可能である場合、一方のバッファに変更を加えると他方のバッファも変更されます。新しいバッファの容量はこのバッファの容量と同じになります。 新しいバッファの容量はこのバッファの容量になり、その位置は
position()
+start
、リミットはposition()
+end
になります。 新しいバッファは、このバッファがダイレクト・バッファである場合にかぎりダイレクト・バッファになります。また、このバッファが読取り専用バッファである場合にかぎり読取り専用バッファになります。- 定義:
subSequence
、インタフェース:CharSequence
- パラメータ:
start
- サブシーケンス内の最初のcharを示すインデックス(現在位置からの相対位置)。remaining()
以下の負でない値でなければならないend
- サブシーケンス内の最後のcharのあとに続くcharを示すインデックス(現在位置からの相対位置)。start
以上remaining()
以下の値でなければならない- 戻り値:
- 新しいcharバッファ
- 例外:
IndexOutOfBoundsException
-start
とend
の前提条件が満たされていない場合
-
append
public CharBuffer append(CharSequence csq)
指定されたcharシーケンスをこのバッファに追加します (オプションの操作)。このメソッドを
dst.append(csq)
の形式で呼び出した場合、次の呼び出しとまったく同様に動作します。dst.put(csq.toString())
charシーケンス
csq
に対するtoString
の指定に応じて、シーケンス全体が追加されないこともあります。 たとえば、charバッファのtoString
メソッドを呼び出した場合、そのバッファの位置とリミットによって決まる内容を持つサブシーケンスが返されます。- 定義:
append
、インタフェース:Appendable
- パラメータ:
csq
- 追加するcharシーケンス。csq
がnull
の場合は、このcharバッファにnull
という4 charが追加される。- 戻り値:
- このバッファ
- 例外:
BufferOverflowException
- このバッファ内に残っている容量が不足している場合ReadOnlyBufferException
- このバッファが読込み専用である場合- 導入されたバージョン:
- 1.5
-
append
public CharBuffer append(CharSequence csq, int start, int end)
指定されたcharシーケンスのサブシーケンスをこのバッファに追加します (オプションの操作)。csq
がnull
でないときに、このメソッドをdst.append(csq, start, end)
の形式で呼び出した場合、次の呼び出しとまったく同様に動作します。dst.put(csq.subSequence(start, end).toString())
- 定義:
append
、インタフェース:Appendable
- パラメータ:
csq
- サブシーケンスの追加元のcharシーケンス。csq
がnull
の場合は、csq
にnull
という4 charが含まれているかのようにcharが追加されるstart
- サブシーケンスの最初のcharのインデックスend
- サブシーケンスの最後のcharのあとに続くcharのインデックス- 戻り値:
- このバッファ
- 例外:
BufferOverflowException
- このバッファ内に残っている容量が不足している場合IndexOutOfBoundsException
-start
またはend
が負の値の場合、start
がend
よりも大きい場合、あるいはend
がcsq.length()
よりも大きい場合ReadOnlyBufferException
- このバッファが読込み専用である場合- 導入されたバージョン:
- 1.5
-
append
public CharBuffer append(char c)
指定されたcharをこのバッファに追加します (オプションの操作)。このメソッドを
dst.append(c)
の形式で呼び出した場合、次の呼び出しとまったく同様に動作します。dst.put(c)
- 定義:
append
、インタフェース:Appendable
- パラメータ:
c
- 追加する16ビットchar- 戻り値:
- このバッファ
- 例外:
BufferOverflowException
- このバッファ内に残っている容量が不足している場合ReadOnlyBufferException
- このバッファが読込み専用である場合- 導入されたバージョン:
- 1.5
-
-