全パッケージ クラス階層 このパッケージ 前項目 次項目 インデックス
java.lang.Object | +----java.lang.StringBuffer
文字列バッファはマルチスレッドによって安全に使用することができます。必要に応じてメソッドを同期して、特定のインスタンスに対する演算がすべて順次に発生するように動作します。
文字列バッファは、バイナリ文字列の連結演算子 +
を実装するためにコンパイラで使用されます。
例えば、コード :
x = "a" + 4 + "c"
は下記の同等コードにコンパイルされます。
x = new StringBuffer().append("a").append(4).append("c") .toString()
StringBuffer
の基本演算子は、メソッド append
および insert
であり、どんな種類のデータも受け取るようにこのメソッドをオーバーロードします。メソッドはそれぞれ所定のデータを有効に文字列に変換し、文字列の文字型を文字列バッファに追加または挿入します。通常、メソッド append
はバッファの文末にこの文字型を追加し、メソッド insert
は指定された位置に文字型を追加します。
例えば、z
を、現在 "start
" を含む文字列バッファオブジェクトとみなす場合、 z.insert(4, "le")
は文字列バッファに "starlet
" が含まれるように変更することに対して、メソッド呼び出し z.append("le")
は文字列バッファが "startle
" を含むように作用します。
文字列バッファはすべて容量を持っています。文字列バッファに含まれる文字型シーケンスの長さが容量を超過しない限り、新しい内部バッファ配列を割り当てることが必要となります。内部バッファがオーバーフローする場合、自動的に容量が増加します。
length
によって指定される文字列バッファを構築する。
boolean
の文字列表現を文字列バッファに追加する。
char
の文字列表現をこの文字列バッファに追加する。
char
の文字列表現をこの文字列バッファに追加する。
char
の部分配列の文字列表現をこの文字列バッファに追加する。
double
の文字列表現をこの文字列バッファに追加する。
float
の文字列表現をこの文字列バッファに追加する。
int
の文字列表現をこの文字列バッファに追加する。
long
の文字列表現をこの文字列バッファに追加する。
Object
の文字列表現をこの文字列バッファに追加する。
dst
にコピーする。
boolean
の文字列表現をこの文字列バッファに挿入する。
char
の文字列表現をこの文字列バッファに挿入する。
char
の文字列表現を挿入する。
double
の文字列表現をこの文字列バッファに挿入する。
float
の文字列表現をこの文字列バッファに挿入する。
int
の文字列表現をこの文字列バッファに挿入する。
long
の文字列表現をこの文字列バッファに挿入する。
Object
の文字列表現をこの文字列バッファに挿入する。
ch
に設定する。
public StringBuffer()
public StringBuffer(int length)
length
によって指定される文字列バッファを構築します。
length
が 0
未満の場合
public StringBuffer(String str)
16
と文字列引数の長さを加えたものになります。
public int length()
public int capacity()
public synchronized void ensureCapacity(int minimumCapacity)
minimumCapacity
2
minimumCapacity
が正の数でない場合はこのメソッドを実行せず、単純に返します。
public synchronized void setLength(int newLength)
newLength
が文字列バッファの現在の長さより少ない場合、文字列バッファを切り捨て、引数 newLength
によって指定される文字数を正確に含むようにします。
引数 newLength
が現在の長さ以上である場合、十分な null 文字型 ('\u0000'
) を文字列バッファに追加して、この長さが引数 newLength
になるようにします。
引数 newLength
は 0
以上となる必要があります。
newLength
が無効である場合、
public synchronized char charAt(int index)
文字列バッファの最初の文字列は、インデックス 0
の位置にあり、次の文字列はインデックス 1
など、配列のインデックス付けに従っています。
インデックス引数は 0
以上、この文字列バッファの長さ未満である必要があります。
public synchronized void getChars(int srcBegin, int srcEnd, char dst[], int dstBegin)
dst
にコピーします。コピーされる最初の文字型はインデックス srcBegin
にあり、コピーされる最後の文字型は srcEnd-1.
にあります。コピーされる文字の合計数は srcEnd-srcBegin
です。文字型を dstBegin
で開始し以下で終了する dst
の部分配列にコピーします。
dstbegin + (srcEnd-srcBegin) - 1
dst
内のオフセット
public synchronized void setCharAt(int index, char ch)
ch
に設定します。
オフセット引数は 0
以上、この文字列バッファ未満となる必要があります。
public synchronized StringBuffer append(Object obj)
Object
の文字列表現をこの文字列バッファに追加します。
メソッド String.valueOf
を用いたかのように、引数を文字列に変換します。それから、その文字列の文字型をこの文字列バッファに追加します。
Object
public synchronized StringBuffer append(String str)
引数 String
の文字型を順序正しくこの文字列バッファの内容に追加して、引数の長さの分この文字列バッファ長を増加させます。
public synchronized StringBuffer append(char str[])
char
の文字列表現をこの文字列バッファに追加します。
配列引数の文字型を順序正しくこの文字列バッファの内容に追加します。この文字列バッファの長さは引数の長さの分増加します。
public synchronized StringBuffer append(char str[], int offset, int len)
char
の部分配列の文字列表現をこの文字列バッファに追加します。
文字型配列 str
の文字型はインデックス offset
で開始し、この文字列バッファの内容に順序正しく追加されます。この文字列バッファの長さは len
の値分増加します。
public StringBuffer append(boolean b)
boolean
の文字列表現を文字列バッファに追加します。
メソッド String.valueOf
を用いたかのように、引数を文字列に変換します。それから、その文字列の文字型をこの文字列バッファに追加します。
boolean
public synchronized StringBuffer append(char c)
char
の文字列表現をこの文字列バッファに追加します。
引数をこの文字列バッファの内容に追加します。
この文字列バッファの長さは 1
だけ増加します。
char
public StringBuffer append(int i)
int
の文字列表現を追加します。
String.valueOf
を用いたかのように、引数を文字列に変換します。それから、その文字列の文字型をこの文字列バッファに追加します。
int
public StringBuffer append(long l)
long
の文字列表現をこの文字列バッファに追加します。
メソッド String.valueOf
を用いたかのように、引数を文字列に変換し、それからその文字列の文字型をこの文字列バッファに追加します。
long
public StringBuffer append(float f)
float
の文字列表現をこの文字列バッファに追加します。
メソッド String.valueOf
を用いたかのように、引数を文字列に変換します。それからこの文字列バッファにその文字列の文字型を追加します。
float
public StringBuffer append(double d)
double
の文字列表現をこの文字列バッファに追加します。
メソッド String.valueOf
を用いたかのように、引数を文字列に変換します。それから、その文字列の文字型をこの文字列バッファに追加します。
double
public synchronized StringBuffer insert(int offset, Object obj)
Object
の文字列表現をこの文字列バッファに挿入します。
メソッド String.valueOf
を用いたかのように、第二の引数を文字列に変換します。それから、その文字列の文字型をこの文字列バッファに指示されたオフセットの位置で挿入します。
オフセット引数は 0
以上、この文字列バッファの長さ以下となる必要があります。
Object
public synchronized StringBuffer insert(int offset, String str)
引数 String
の文字型をこの文字列バッファに指定されたオフセットで順序正しく挿入します。この文字列バッファの長さは引数の長さだけ増加します。
オフセット引数は 0
以上、この文字列バッファの長さ以下となる必要があります。
public synchronized StringBuffer insert(int offset, char str[])
char
の文字列表現をこの文字列バッファに挿入します。
配列引数の文字型をこの文字列バッファの内容に offset
によって示された位置で挿入します。この文字列バッファの長さは引数の長さの分だけ増加します。
public StringBuffer insert(int offset, boolean b)
boolean
の文字列表現をこの文字列バッファに挿入します。
メソッド String.valueOf
を用いたかのように、第二の引数を文字列に変換します。それから、その文字列の文字型をこの文字列バッファに指定されたオフセットで挿入します。
オフセット引数は 0
以上、この文字列バッファの長さ以下となる必要があります。
boolean
public synchronized StringBuffer insert(int offset, char c)
char
の文字列表現をこの文字列バッファに挿入します。
第二の引数をこの文字列バッファの内容にoffset
で指定される位置で挿入します。この文字列バッファの長さは 1 つだけ増加します。
オフセット引数は 0
以上、この文字列バッファの長さ以下である必要があります。
char
public StringBuffer insert(int offset, int i)
int
の文字列表現をこの文字列バッファに挿入します。
メソッド String.valueOf
を用いたかのように、第二の引数を文字列に挿入します。それから、その文字列の文字型をこの文字列バッファに指定されたオフセットの位置で挿入します。
オフセット引数は 0
以上、この文字列バッファの長さ以下である必要があります。
int
public StringBuffer insert(int offset, long l)
long
の文字列表現をこの文字列バッファに挿入します。
メソッド String.valueOf
を用いたかのように、第二の引数を文字列に変換します。それから、その文字列の文字型をこの文字列バッファに指定されたオフセットの位置で挿入します。
オフセット引数は 0
以上、この文字列バッファ長さ以下である必要があります。
long
public StringBuffer insert(int offset, float f)
float
の文字列表現をこの文字列バッファに挿入します。
メソッド String.valueOf
を用いたかのように、第二の引数を文字列に変換します。それからその文字列の文字型をこの文字列バッファに指定されたオフセットの位置で挿入します。
オフセット引数は 0
以上、この文字列バッファ長さ以下となる必要があります。
float
public StringBuffer insert(int offset, double d)
double
の文字列表現をこの文字列バッファに挿入します。
メソッド String.valueOf
を用いたかのように、第二の引数を文字列に変換します。それからその文字列の文字型をこの文字列バッファに指定されたオフセットの位置で挿入します。
オフセット引数は 0
以上、この文字列バッファの長さ以下である必要があります。
double
public synchronized StringBuffer reverse()
public String toString()
String
オブジェクトを割り当て、初期化して、現在この文字列バッファが表す文字型シーケンスを含むようにします。それから、この String
を返します。この結果文字列バッファに生じる変化は String
の内容に影響を及ぼしません。
全パッケージ クラス階層 このパッケージ 前項目 次項目 インデックス