JavaTM 2
Platform
Std. Ed. v1.4.0

java.lang
クラス StringBuffer

java.lang.Object
  |
  +--java.lang.StringBuffer
すべての実装インタフェース:
CharSequence, Serializable

public final class StringBuffer
extends Object
implements Serializable, CharSequence

文字列バッファは可変の文字列を実装します。文字列バッファは String と似ていますが、変更できる点が異なります。文字列バッファには常に文字列が格納されていますが、文字列の長さと内容は特定のメソッドの呼び出しにより変更できます。

文字列バッファは複数のスレッドによって安全に使用することができます。メソッドは必要に応じて同期化され、特定のインスタンスでのすべてのオペレーションが、関連のある個々のスレッドによって行われるメソッドの呼び出しの順序と一致する連続した順序で発生するように動作します。

文字列バッファは、バイナリ文字列の連結演算子 + を実装するためにコンパイラで使用されます。たとえば、次のコード

     x = "a" + 4 + "c"
 

は、以下の同等なコードとしてコンパイルされます。

     x = new StringBuffer().append("a").append(4).append("c")
                           .toString()
 
新しい文字列バッファ (初期状態では空) を作成し、各演算子の文字列表現を文字列バッファに順番に追加してから、文字列バッファの内容を文字列に変換します。これにより、作成される一時的な文字列の全体量を減らすことができます。

StringBuffer の基本的なオペレーションには、append メソッドおよび insert メソッドがあり、これらのメソッドはどんな種類のデータも受け取ることができるようにオーバーロードされています。メソッドはそれぞれ与えられたデータを効率的に文字列に変換し、文字列中の文字を文字列バッファに追加または挿入します。append メソッドは常に、バッファの末尾に与えられた文字を追加し、insert メソッドは指定された位置に文字を追加します。

たとえば、z を、現在 "start" を含む文字列バッファオブジェクトと見なす場合、z.append("le") は文字列バッファの内容が "startle" になるように変更するのに対して、z.insert(4, "le") というメソッド呼び出しは文字列バッファの内容が "starlet" になるように作用します。

一般に、sb が StringBuffer のインスタンスを参照している場合、sb.append(x)sb.insert(sb.length(), x) と同じ結果になります。

各文字列バッファには容量があります。文字列バッファに含まれる文字列の長さが容量を超過しない限り、新しい内部バッファ配列を割り当てる必要はありません。内部バッファがオーバーフローする場合、自動的に容量が増加します。

導入されたバージョン:
JDK1.0
関連項目:
ByteArrayOutputStream, String, 直列化された形式

コンストラクタの概要
StringBuffer()
          文字を持たず、初期容量が 16 文字である文字列バッファを構築します。
StringBuffer(int length)
          文字を持たず、引数 length によって指定された初期容量である文字列バッファを構築します。
StringBuffer(String str)
          文字列バッファを構築し、文字列引数に等しい文字列を表すようにします。
 
メソッドの概要
 StringBuffer append(boolean b)
          boolean 引数の文字列表現をこの文字列バッファに追加します。
 StringBuffer append(char c)
          char 引数の文字列表現をこの文字列バッファに追加します。
 StringBuffer append(char[] str)
          char 配列引数の文字列表現をこの文字列バッファに追加します。
 StringBuffer append(char[] str, int offset, int len)
          char 配列引数の部分配列の文字列表現をこの文字列バッファに追加します。
 StringBuffer append(double d)
          double 引数の文字列表現をこの文字列バッファに追加します。
 StringBuffer append(float f)
          float 引数の文字列表現をこの文字列バッファに追加します。
 StringBuffer append(int i)
          int 引数の文字列表現をこの文字列バッファに追加します。
 StringBuffer append(long l)
          long 引数の文字列表現をこの文字列バッファに追加します。
 StringBuffer append(Object obj)
          引数 Object の文字列表現をこの文字列バッファに追加します。
 StringBuffer append(String str)
          この文字列バッファに文字列を追加します。
 StringBuffer append(StringBuffer sb)
          指定された StringBuffer をこの StringBuffer に追加します。
 int capacity()
          文字列バッファの現在の容量を返します。
 char charAt(int index)
          index 引数によって示される、文字列バッファによって現在表されている、指定された文字列が返されます。
 StringBuffer delete(int start, int end)
          この StringBuffer の部分文字列内の文字をすべて削除します。
 StringBuffer deleteCharAt(int index)
          この StringBuffer 内の指定された位置にある文字を削除します。
 void ensureCapacity(int minimumCapacity)
          バッファの容量が、指定された最小値以上になることを保証します。
 void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)
          文字列はこの文字列バッファからコピー先文字配列 dst にコピーされます。
 int indexOf(String str)
          この文字列内で、指定された部分文字列が最初に出現する位置のインデックスを返します。
 int indexOf(String str, int fromIndex)
          指定されたインデックス以降で、指定された部分文字列がこの文字列内で最初に出現する位置のインデックスを返します。
 StringBuffer insert(int offset, boolean b)
          boolean 引数の文字列表現をこの文字列バッファに挿入します。
 StringBuffer insert(int offset, char c)
          char 引数の文字列表現を文字列バッファに挿入します。
 StringBuffer insert(int offset, char[] str)
          char 配列引数の文字列表現を文字列バッファに挿入します。
 StringBuffer insert(int index, char[] str, int offset, int len)
          str 配列引数の部分配列の文字列表現をこの文字列バッファに挿入します。
 StringBuffer insert(int offset, double d)
          double 引数の文字列表現を文字列バッファに挿入します。
 StringBuffer insert(int offset, float f)
          float 引数の文字列表現を文字列バッファに挿入します。
 StringBuffer insert(int offset, int i)
          2 番目の int 引数の文字列表現を文字列バッファに挿入します。
 StringBuffer insert(int offset, long l)
          long 引数の文字列表現を文字列バッファに挿入します。
 StringBuffer insert(int offset, Object obj)
          Object 引数の文字列表現をこの文字列バッファに挿入します。
 StringBuffer insert(int offset, String str)
          文字列バッファに文字列を挿入します。
 int lastIndexOf(String str)
          この文字列内で、指定された部分文字列が一番右に出現する位置のインデックスを返します。
 int lastIndexOf(String str, int fromIndex)
          この文字列内で、指定された部分文字列が最後に出現する位置のインデックスを返します。
 int length()
          この文字列バッファの長さ (文字数) を返します。
 StringBuffer replace(int start, int end, String str)
          この StringBuffer の部分文字列の文字を、指定された String の文字に置換します。
 StringBuffer reverse()
          この文字列バッファに格納されている文字列が、逆の並び順の文字列に置換されます。
 void setCharAt(int index, char ch)
          この文字列バッファの指定されたインデックス位置の文字が ch になるように設定します。
 void setLength(int newLength)
          この文字列バッファの長さを設定します。
 CharSequence subSequence(int start, int end)
          このシーケンスのサブシーケンスである新規文字シーケンスを返します。
 String substring(int start)
          StringBuffer に現在格納されている文字列の一部が入った新しい String を返します。
 String substring(int start, int end)
          StringBuffer に現在格納されている文字列の一部が入った新しい String を返します。
 String toString()
          文字列バッファをそのデータを表現する文字列に変換します。
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

コンストラクタの詳細

StringBuffer

public StringBuffer()
文字を持たず、初期容量が 16 文字である文字列バッファを構築します。


StringBuffer

public StringBuffer(int length)
文字を持たず、引数 length によって指定された初期容量である文字列バッファを構築します。

パラメータ:
length - 初期容量
例外:
NegativeArraySizeException - 引数 length0 未満の場合

StringBuffer

public StringBuffer(String str)
文字列バッファを構築し、文字列引数に等しい文字列を表すようにします。つまり、文字列バッファの初期内容は引数文字列のコピーになります。文字列バッファの初期容量は、16 と文字列引数の長さを加えたものになります。

パラメータ:
str - バッファの初期内容
メソッドの詳細

length

public int length()
この文字列バッファの長さ (文字数) を返します。

定義:
インタフェース CharSequence 内の length
戻り値:
この文字列バッファによって現在表されている文字シーケンスの長さ

capacity

public int capacity()
文字列バッファの現在の容量を返します。この容量は、新しく挿入される文字で利用可能な記憶域の量を表します。それを超えると割り当てが発生します。

戻り値:
この文字列バッファの現在の容量

ensureCapacity

public void ensureCapacity(int minimumCapacity)
バッファの容量が、指定された最小値以上になることを保証します。この文字列バッファの現在の容量が引数より小さい場合は、より容量の大きい新しい内部バッファが割り当てられます。新しい容量は次の 2 つのうちの大きいほうです。 minimumCapacity 引数が正の値でない場合、このメソッドは何も行わずに復帰します。

パラメータ:
minimumCapacity - 保証したい最小容量

setLength

public void setLength(int newLength)
この文字列バッファの長さを設定します。この文字列バッファは長さが引数によって指定された新しい文字列を表すように変更されます。newLength より小さい、負でないすべての k では、新しい文字列内のインデックス k の位置にある文字は、k が以前の文字列の長さより小さい場合は、以前の文字列内のインデックス k の位置にある文字に等しくなります。そうでない場合は、null 文字 '' になります。 つまり、newLength 引数が現在の文字列バッファの長さより小さい場合、文字列バッファは newLength 引数によって指定された文字数がぴったり収まるように切り詰められます。

newLength 引数が現在の長さと等しいか大きい場合は、長さが newLength 引数になるように、文字列バッファに必要なだけの null 文字 ('\u0000') が追加されます。

newLength 引数は 0 以上でなければなりません。

パラメータ:
newLength - バッファの新しい長さ
例外:
IndexOutOfBoundsException - newLength 引数が負の値の場合
関連項目:
length()

charAt

public char charAt(int index)
index 引数によって示される、文字列バッファによって現在表されている、指定された文字列が返されます。文字列バッファの最初の文字のインデックスが 0、次の文字のインデックスが 1 という順になります。

index 引数は 0 以上で、この文字列バッファの長さより小さくなければなりません。

定義:
インタフェース CharSequence 内の charAt
パラメータ:
index - 目的の文字のインデックス
戻り値:
この文字列バッファの、指定されたインデックス位置にある文字
例外:
IndexOutOfBoundsException - index が負の値の場合、あるいは length() に等しいかこれより大きい場合
関連項目:
length()

getChars

public void getChars(int srcBegin,
                     int srcEnd,
                     char[] dst,
                     int dstBegin)
文字列はこの文字列バッファからコピー先文字配列 dst にコピーされます。コピーされる最初の文字のインデックスが srcBegin で、コピーされる最後の文字のインデックスが srcEnd-1 になります。コピーされる文字の総数は srcEnd-srcBegin になります。文字は、インデックス dstBegin から始まり、次に示すインデックスで終わる dst の部分配列にコピーされます。

 dstbegin + (srcEnd-srcBegin) - 1
 

パラメータ:
srcBegin - 文字列バッファのこのオフセットでコピーを開始する
srcEnd - 文字列バッファのこのオフセットでコピーを停止する
dst - データのコピー先の配列
dstBegin - dst へのオフセット
例外:
NullPointerException - dstnull の場合
IndexOutOfBoundsException - 次のどれかの場合
  • srcBegin が負の値である
  • dstBegin が負の値である
  • srcBegin 引数が srcEnd 引数より大きい
  • この文字列バッファの現在の長さである this.length() より srcEnd が大きい
  • dstBegin+srcEnd-srcBegindst.length より大きい

setCharAt

public void setCharAt(int index,
                      char ch)
この文字列バッファの指定されたインデックス位置の文字が ch になるように設定します。文字列バッファは、index の位置の文字が ch であることを除き、以前の文字列と同一の文字列を表現するように変更されます。

index 引数は 0 以上で、この文字列バッファの長さ未満でなければなりません。

パラメータ:
index - 変更対象の文字のインデックス
ch - 新しい文字
例外:
IndexOutOfBoundsException - index が負の値の場合、あるいは length() に等しいかこれより大きい場合
関連項目:
length()

append

public StringBuffer append(Object obj)
引数 Object の文字列表現をこの文字列バッファに追加します。

引数は、String.valueOf メソッドによって変換される場合と同じように文字列に変換され、その文字列の文字がこの文字列バッファに追加されます。

パラメータ:
obj - Object
戻り値:
StringBuffer オブジェクトへの参照
関連項目:
String.valueOf(java.lang.Object), append(java.lang.String)

append

public StringBuffer append(String str)
この文字列バッファに文字列を追加します。

String 引数の文字が、順番にこの文字列バッファの内容に追加されます。その結果、引数の長さの分だけこの文字列バッファの長さが増えます。strnull の場合、"null" の 4 文字がこの文字列バッファに追加されます。

append メソッドの実行の直前に文字列バッファに格納されていた文字列の長さが n で、kn より小さい場合、新しい文字列内のインデックス k にある文字は以前の文字列内のインデックス k に る文字に等しくなります。そうでない場合は、引数 str 内のインデックス k-n にある文字に等しくなります。

パラメータ:
str - 文字列
戻り値:
StringBuffer への参照

append

public StringBuffer append(StringBuffer sb)
指定された StringBuffer をこの StringBuffer に追加します。

StringBuffer 引数の文字が、順番にこの StringBuffer の内容に追加されます。その結果、引数の長さの分だけこの StringBuffer の長さが増えます。sbnull の場合、"null" の 4 文字がこの StringBuffer に追加されます。

append メソッドの実行の直前に StringBuffer に格納されていた文字列の長さが n の場合、新しい文字列内のインデックス k にある文字は以前の文字列内のインデックス k にある文字に等しくなります。そうでない場合は、引数 sb 内のインデックス k-n にある文字に等しくなります。

ensureCapacity メソッドは、この StringBuffer に対し、新規バッファの長さを引数として最初に呼び出されます (これにより、この StringBuffer の記憶域に追加文字が適切に含まれます)。

パラメータ:
sb - 追加する StringBuffer
戻り値:
この StringBuffer への参照
導入されたバージョン:
1.4

append

public StringBuffer append(char[] str)
char 配列引数の文字列表現をこの文字列バッファに追加します。

配列引数の文字は、順番にこの文字列バッファの内容に追加されます。文字列バッファの長さは引数の長さの分だけ増えます。

最終的には、String.valueOf(char[]) メソッドによって引数が文字列に変換されてから、その文字列の文字がこの StringBuffer オブジェクトに 追加された場合とまったく同じ結果になります。

パラメータ:
str - 追加される文字
戻り値:
StringBuffer オブジェクトへの参照

append

public StringBuffer append(char[] str,
                           int offset,
                           int len)
char 配列引数の部分配列の文字列表現をこの文字列バッファに追加します。

文字配列 str の文字は、インデックス offset の位置を始点として、この文字列バッファに順番に追加されます。この文字列バッファの長さは len の値の分だけ増加します。

最終的には、String.valueOf(char[],int,int) メソッドによって引数が文字列に変換されてから、その文字列の文字がこの StringBuffer オブジェクトに 追加された場合とまったく同じ結果になります。

パラメータ:
str - 追加される文字
offset - 追加される最初の文字のインデックス
len - 追加する文字数
戻り値:
StringBuffer オブジェクトへの参照

append

public StringBuffer append(boolean b)
boolean 引数の文字列表現をこの文字列バッファに追加します。

引数は、String.valueOf メソッドによって変換される場合と同じように文字列に変換され、その文字列の文字がこの文字列バッファに追加されます。

パラメータ:
b - boolean
戻り値:
この StringBuffer への参照
関連項目:
String.valueOf(boolean), append(java.lang.String)

append

public StringBuffer append(char c)
char 引数の文字列表現をこの文字列バッファに追加します。

引数はこの文字列バッファの内容に追加されます。この文字列バッファの長さは 1 だけ増加します。

最終的には、String.valueOf(char) メソッドによって引数が文字列に変換されてから、その文字列の文字がこの StringBuffer オブジェクトに 追加された場合とまったく同じ結果になります。

パラメータ:
c - char
戻り値:
StringBuffer オブジェクトへの参照

append

public StringBuffer append(int i)
int 引数の文字列表現をこの文字列バッファに追加します。

引数は、String.valueOf メソッドによって変換される場合と同じように文字列に変換され、その文字列の文字がこの文字列バッファに追加されます。

パラメータ:
i - int
戻り値:
StringBuffer オブジェクトへの参照
関連項目:
String.valueOf(int), append(java.lang.String)

append

public StringBuffer append(long l)
long 引数の文字列表現をこの文字列バッファに追加します。

引数は、String.valueOf メソッドによって変換される場合と同じように文字列に変換され、その文字列の文字がこの文字列バッファに追加されます。

パラメータ:
l - long
戻り値:
StringBuffer オブジェクトへの参照
関連項目:
String.valueOf(long), append(java.lang.String)

append

public StringBuffer append(float f)
float 引数の文字列表現をこの文字列バッファに追加します。

引数は、String.valueOf メソッドによって変換される場合と同じように文字列に変換され、その文字列の文字がこの文字列バッファに追加されます。

パラメータ:
f - float
戻り値:
StringBuffer オブジェクトへの参照
関連項目:
String.valueOf(float), append(java.lang.String)

append

public StringBuffer append(double d)
double 引数の文字列表現をこの文字列バッファに追加します。

引数は、String.valueOf メソッドによって変換される場合と同じように文字列に変換され、その文字列の文字がこの文字列バッファに追加されます。

パラメータ:
d - double
戻り値:
StringBuffer オブジェクトへの参照
関連項目:
String.valueOf(double), append(java.lang.String)

delete

public StringBuffer delete(int start,
                           int end)
この StringBuffer の部分文字列内の文字をすべて削除します。部分文字列は、指定された start から始まり、インデックス end - 1 の位置にある文字まで、あるいはこれに該当する文字がない場合は StringBuffer の最後までになります。startend が等しい場合、何も変更はありません。

パラメータ:
start - 開始インデックス (この値を含む)
end - 終了インデックス (この値を含まない)
戻り値:
この文字列バッファ
例外:
StringIndexOutOfBoundsException - start が負の値の場合、length() より大きい場合、あるいは end より大きい場合
導入されたバージョン:
1.2

deleteCharAt

public StringBuffer deleteCharAt(int index)
この StringBuffer 内の指定された位置にある文字を削除します。StringBuffer の長さは 1 文字分短くなります。

パラメータ:
index - 削除される文字のインデックス
戻り値:
この文字列バッファ
例外:
StringIndexOutOfBoundsException - index が負の値の場合、あるいは length() に等しいかこれより大きい場合
導入されたバージョン:
1.2

replace

public StringBuffer replace(int start,
                            int end,
                            String str)
この StringBuffer の部分文字列の文字を、指定された String の文字に置換します。部分文字列は、指定された start から始まり、インデックス end - 1 の位置にある文字まで、あるいはこれに該当する文字がない場合は StringBuffer の最後までになります。まず、部分文字列の文字が削除されてから、指定された Stringstart に挿入されます。StringBuffer は、指定された String が収まるように、必要に応じて長くなります。

パラメータ:
start - 開始インデックス (この値を含む)
end - 終了インデックス (この値を含まない)
str - 以前の内容を置換する String
戻り値:
この文字列バッファ
例外:
StringIndexOutOfBoundsException - start が負の値の場合、length() より大きい場合、あるいは end より大きい場合
導入されたバージョン:
1.2

substring

public String substring(int start)
StringBuffer に現在格納されている文字列の一部が入った新しい String を返します。部分文字列は、指定されたインデックスから始まり、StringBuffer の最後までになります。

パラメータ:
start - 開始インデックス (この値を含む)
戻り値:
新しい文字列
例外:
StringIndexOutOfBoundsException - start が 0 より小さい場合、あるいはこの StringBuffer の長さより大きい場合
導入されたバージョン:
1.2

subSequence

public CharSequence subSequence(int start,
                                int end)
このシーケンスのサブシーケンスである新規文字シーケンスを返します。

次のフォームのメソッド呼び出しは、

 sb.subSequence(begin, end)
次の呼び出しと正確に同じ動作になります。
 sb.substring(begin, end)
このメソッドにより、StringBuffer クラスが CharSequence インタフェースを実装可能になります。

定義:
インタフェース CharSequence 内の subSequence
パラメータ:
start - 開始インデックス (この値を含む)
end - 終了インデックス (この値を含まない)
戻り値:
指定されたサブシーケンス
例外:
IndexOutOfBoundsException - start または end が負の値の場合、endlength() より大きい場合、あるいは startend より大きい場合
導入されたバージョン:
1.4

substring

public String substring(int start,
                        int end)
StringBuffer に現在格納されている文字列の一部が入った新しい String を返します。部分文字列は、指定された start から始まり、インデックス end - 1 にある文字までになります。

パラメータ:
start - 開始インデックス (この値を含む)
end - 終了インデックス (この値を含まない)
戻り値:
新しい文字列
例外:
StringIndexOutOfBoundsException - start または end が負の値の場合、length() より大きい場合、あるいは startend より大きい場合
導入されたバージョン:
1.2

insert

public StringBuffer insert(int index,
                           char[] str,
                           int offset,
                           int len)
str 配列引数の部分配列の文字列表現をこの文字列バッファに挿入します。部分配列は指定された offset で始まり、len に指定された文字数分の長さです。部分配列の文字は、文字列バッファの index で示される位置に挿入されます。StringBuffer の長さは len 文字分だけ増加します。

パラメータ:
index - 部分配列を挿入する位置
str - 文字配列
offset - 挿入される部分配列の最初の文字のインデックス
len - 挿入される部分配列の文字数
戻り値:
この文字列バッファ
例外:
StringIndexOutOfBoundsException - index が負の値または length() より大きい場合、offsetlen が負の値の場合、あるいは (offset+len)str.length より大きい場合
導入されたバージョン:
1.2

insert

public StringBuffer insert(int offset,
                           Object obj)
Object 引数の文字列表現をこの文字列バッファに挿入します。

2 番目の引数が String.valueOf メソッドの場合と同じように文字列に変換され、その文字列の文字がこの文字列バッファの指定されたオフセットに挿入されます。

offset 引数は 0 以上で、この文字列バッファの長さに等しいかこれより小さくなければなりません。

パラメータ:
offset - オフセット
obj - Object
戻り値:
StringBuffer オブジェクトへの参照
例外:
StringIndexOutOfBoundsException - オフセットが無効な場合
関連項目:
String.valueOf(java.lang.Object), insert(int, java.lang.String), length()

insert

public StringBuffer insert(int offset,
                           String str)
文字列バッファに文字列を挿入します。

String 引数の文字が、この文字列バッファの指定されたオフセット位置に順番に挿入されます。その位置にあった文字は移動され、引数の長さの分だけこの文字列バッファの長さが増加します。strnull の場合は、"null" の 4 文字がこの文字列バッファに挿入されます。

新しい文字列のインデックス k の位置にある文字は、次の文字に等しくなります。

offset 引数は 0 以上で、この文字列バッファの長さに等しいかこれより小さくなければなりません。

パラメータ:
offset - オフセット
str - 文字列
戻り値:
StringBuffer オブジェクトへの参照
例外:
StringIndexOutOfBoundsException - オフセットが無効な場合
関連項目:
length()

insert

public StringBuffer insert(int offset,
                           char[] str)
char 配列引数の文字列表現を文字列バッファに挿入します。

配列引数の文字は、文字列バッファの offset で示される位置に挿入されます。この文字列バッファの長さは引数の長さの分だけ増加します。

最終的には、String.valueOf(char[]) メソッドによって引数が文字列に変換されてから、その文字列の文字がこの StringBuffer オブジェクトの offset で示される位置に 挿入 された場合とまったく同じ結果になります。

パラメータ:
offset - オフセット
str - 文字配列
戻り値:
StringBuffer オブジェクトへの参照
例外:
StringIndexOutOfBoundsException - オフセットが無効な場合

insert

public StringBuffer insert(int offset,
                           boolean b)
boolean 引数の文字列表現をこの文字列バッファに挿入します。

2 番目の引数が String.valueOf メソッドの場合と同じように文字列に変換され、その文字列の文字がこの文字列バッファの指定されたオフセットに挿入されます。

offset 引数は 0 以上で、この文字列バッファの長さに等しいかこれより小さくなければなりません。

パラメータ:
offset - オフセット
b - boolean
戻り値:
StringBuffer オブジェクトへの参照
例外:
StringIndexOutOfBoundsException - オフセットが無効な場合
関連項目:
String.valueOf(boolean), insert(int, java.lang.String), length()

insert

public StringBuffer insert(int offset,
                           char c)
char 引数の文字列表現を文字列バッファに挿入します。

2 番目の引数が、文字列バッファの内容の offset で指定される位置に挿入されます。この文字列バッファの長さが 1 文字分増加します。

最終的には、String.valueOf(char) メソッドによって引数が文字列に変換されてから、その文字列の文字がこの StringBuffer オブジェクトの offset で指定される位置に 挿入 された場合とまったく同じ結果になります。

offset 引数は 0 以上で、この文字列バッファの長さに等しいかこれより小さくなければなりません。

パラメータ:
offset - オフセット
c - char
戻り値:
StringBuffer オブジェクトへの参照
例外:
IndexOutOfBoundsException - オフセットが無効な場合
関連項目:
length()

insert

public StringBuffer insert(int offset,
                           int i)
2 番目の int 引数の文字列表現を文字列バッファに挿入します。

2 番目の引数が String.valueOf メソッドの場合と同じように文字列に変換され、その文字列の文字がこの文字列バッファの指定されたオフセットに挿入されます。

offset 引数は 0 以上で、この文字列バッファの長さに等しいかこれより小さくなければなりません。

パラメータ:
offset - オフセット
i - int
戻り値:
StringBuffer オブジェクトへの参照
例外:
StringIndexOutOfBoundsException - オフセットが無効な場合
関連項目:
String.valueOf(int), insert(int, java.lang.String), length()

insert

public StringBuffer insert(int offset,
                           long l)
long 引数の文字列表現を文字列バッファに挿入します。

2 番目の引数が String.valueOf メソッドの場合と同じように文字列に変換され、その文字列の文字がこの文字列バッファの offset で指定された位置に挿入されます。

offset 引数は 0 以上で、この文字列バッファの長さに等しいかこれより小さくなければなりません。

パラメータ:
offset - オフセット
l - long
戻り値:
StringBuffer オブジェクトへの参照
例外:
StringIndexOutOfBoundsException - オフセットが無効な場合
関連項目:
String.valueOf(long), insert(int, java.lang.String), length()

insert

public StringBuffer insert(int offset,
                           float f)
float 引数の文字列表現を文字列バッファに挿入します。

2 番目の引数が String.valueOf メソッドの場合と同じように文字列に変換され、その文字列の文字がこの文字列バッファの指定されたオフセットに挿入されます。

offset 引数は 0 以上で、この文字列バッファの長さに等しいかこれより小さくなければなりません。

パラメータ:
offset - オフセット
f - float
戻り値:
StringBuffer オブジェクトへの参照
例外:
StringIndexOutOfBoundsException - オフセットが無効な場合
関連項目:
String.valueOf(float), insert(int, java.lang.String), length()

insert

public StringBuffer insert(int offset,
                           double d)
double 引数の文字列表現を文字列バッファに挿入します。

2 番目の引数が String.valueOf メソッドの場合と同じように文字列に変換され、その文字列の文字がこの文字列バッファの指定されたオフセットに挿入されます。

offset 引数は 0 以上で、この文字列バッファの長さに等しいかこれより小さくなければなりません。

パラメータ:
offset - オフセット
d - double
戻り値:
StringBuffer オブジェクトへの参照
例外:
StringIndexOutOfBoundsException - オフセットが無効な場合
関連項目:
String.valueOf(double), insert(int, java.lang.String), length()

indexOf

public int indexOf(String str)
この文字列内で、指定された部分文字列が最初に出現する位置のインデックスを返します。返される整数は、
 this.toString().startsWith(str, k)
 
上の式が true となるような最小の k です。

パラメータ:
str - 任意の文字列
戻り値:
文字列引数がこのオブジェクト内の部分文字列である場合は、該当する最初の部分文字列の最初の文字のインデックス。部分文字列がない場合は -1
例外:
NullPointerException - strnull の場合
導入されたバージョン:
1.4

indexOf

public int indexOf(String str,
                   int fromIndex)
指定されたインデックス以降で、指定された部分文字列がこの文字列内で最初に出現する位置のインデックスを返します。返される整数は、次の最小値 k になります。
     k >= Math.min(fromIndex, str.length()) &&
                   this.toString().startsWith(str, k)
 
このような k の値が存在しない場合、-1 が返されます。

パラメータ:
str - 検索対象の部分文字列
fromIndex - 検索開始位置のインデックス
戻り値:
指定されたインデックスから検索を開始して、最初に指定された部分文字列が出現する、この文字列内のインデックス
例外:
NullPointerException - strnull の場合
導入されたバージョン:
1.4

lastIndexOf

public int lastIndexOf(String str)
この文字列内で、指定された部分文字列が一番右に出現する位置のインデックスを返します。空の文字列 "" の一番右に出現した位置が、this.length() と見なされます。返されるインデックスは、
 this.toString().startsWith(str, k)
 
上の式が true となるような最大の k です。

パラメータ:
str - 検索対象の部分文字列
戻り値:
文字列引数がこのオブジェクト内の部分文字列として 1 回以上出現する場合は、該当する最後の部分文字列の最初の文字のインデックス。部分文字列として出現しない場合は、-1
例外:
NullPointerException - strnull の場合
導入されたバージョン:
1.4

lastIndexOf

public int lastIndexOf(String str,
                       int fromIndex)
この文字列内で、指定された部分文字列が最後に出現する位置のインデックスを返します。返される整数は、以下に適合する最大値 k です。
     k <= Math.min(fromIndex, str.length()) &&
                   this.toString().startsWith(str, k)
 
このような k の値が存在しない場合、-1 が返されます。

パラメータ:
str - 検索対象の部分文字列
fromIndex - 検索開始位置のインデックス
戻り値:
この文字列内で、指定された部分文字列が最後に出現する位置のインデックス
例外:
NullPointerException - strnull の場合
導入されたバージョン:
1.4

reverse

public StringBuffer reverse()
この文字列バッファに格納されている文字列が、逆の並び順の文字列に置換されます。

reverse メソッドの実行の前に文字バッファに格納されていた以前の文字列の長さが n の場合、新しい文字列内のインデックス k にある文字は、以前の文字列内のインデックス n-k-1 の位置にあった文字に等しくなります。

戻り値:
StringBuffer オブジェクトへの参照
導入されたバージョン:
JDK1.0.2

toString

public String toString()
文字列バッファをそのデータを表現する文字列に変換します。新しい String オブジェクトを割り当て、現在この文字列バッファが表す文字列を含むように初期化します。最後に、作成された String を返します。この操作のあとに文字列バッファを変更しても、String の内容には影響しません。

実装のアドバイス: このメソッドは、文字列のコピーを格納する新しいメモリを割り当てずに、新しい String オブジェクトを生成するようにコーディングすることができます。この場合、文字列は文字列バッファによって使用されるメモリを共有します。文字列バッファの内容や容量を変更する後続のオペレーションは、その時点での内部バッファのコピーを作成することになります。この方法は、文字列連結オペレーションを文字列バッファを使って実装する場合に、割り当てられるメモリ量を減少させるのに効果的です。

定義:
インタフェース CharSequence 内の toString
オーバーライド:
クラス Object 内の toString
戻り値:
文字列バッファの文字列表現

JavaTM 2
Platform
Std. Ed. v1.4.0

バグの報告と機能のリクエスト
これ以外の API リファレンスおよび開発者用ドキュメントについては、 Java 2 SDK SE 開発者用ドキュメントを参照してください。 開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、 およびコード実例が含まれています。

Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.