|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--java.lang.StringBuffer
文字列バッファは可変の文字列を実装します。文字列バッファは 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)
と同じ結果になります。
各文字列バッファには容量があります。文字列バッファに含まれる文字列の長さが容量を超過しない限り、新しい内部バッファ配列を割り当てる必要はありません。内部バッファがオーバーフローする場合、自動的に容量が増加します。
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 |
コンストラクタの詳細 |
public StringBuffer()
public StringBuffer(int length)
length
によって指定された初期容量である文字列バッファを構築します。
length
- 初期容量
NegativeArraySizeException
- 引数 length
が 0
未満の場合public StringBuffer(String str)
16
と文字列引数の長さを加えたものになります。
str
- バッファの初期内容メソッドの詳細 |
public int length()
CharSequence
内の length
public int capacity()
public void ensureCapacity(int minimumCapacity)
minimumCapacity
引数
2
を加えた値
minimumCapacity
引数が正の値でない場合、このメソッドは何も行わずに復帰します。
minimumCapacity
- 保証したい最小容量public void setLength(int newLength)
newLength
より小さい、負でないすべての k では、新しい文字列内のインデックス k の位置にある文字は、k が以前の文字列の長さより小さい場合は、以前の文字列内のインデックス k の位置にある文字に等しくなります。そうでない場合は、null 文字 ''
になります。
つまり、newLength
引数が現在の文字列バッファの長さより小さい場合、文字列バッファは newLength
引数によって指定された文字数がぴったり収まるように切り詰められます。
newLength
引数が現在の長さと等しいか大きい場合は、長さが newLength
引数になるように、文字列バッファに必要なだけの null 文字 ('\u0000'
) が追加されます。
newLength
引数は 0
以上でなければなりません。
newLength
- バッファの新しい長さ
IndexOutOfBoundsException
- newLength
引数が負の値の場合length()
public char charAt(int index)
index
引数によって示される、文字列バッファによって現在表されている、指定された文字列が返されます。文字列バッファの最初の文字のインデックスが 0
、次の文字のインデックスが 1
という順になります。
index 引数は 0
以上で、この文字列バッファの長さより小さくなければなりません。
CharSequence
内の charAt
index
- 目的の文字のインデックス
IndexOutOfBoundsException
- index
が負の値の場合、あるいは length()
に等しいかこれより大きい場合length()
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
- dst
が null
の場合
IndexOutOfBoundsException
- 次のどれかの場合 srcBegin
が負の値である dstBegin
が負の値である srcBegin
引数が srcEnd
引数より大きい this.length()
より srcEnd
が大きい dstBegin+srcEnd-srcBegin
が dst.length
より大きいpublic void setCharAt(int index, char ch)
ch
になるように設定します。文字列バッファは、index
の位置の文字が ch
であることを除き、以前の文字列と同一の文字列を表現するように変更されます。
index 引数は 0
以上で、この文字列バッファの長さ未満でなければなりません。
index
- 変更対象の文字のインデックスch
- 新しい文字
IndexOutOfBoundsException
- index
が負の値の場合、あるいは length()
に等しいかこれより大きい場合length()
public StringBuffer append(Object obj)
Object
の文字列表現をこの文字列バッファに追加します。
引数は、String.valueOf
メソッドによって変換される場合と同じように文字列に変換され、その文字列の文字がこの文字列バッファに追加されます。
obj
- Object
StringBuffer
オブジェクトへの参照String.valueOf(java.lang.Object)
,
append(java.lang.String)
public StringBuffer append(String str)
String
引数の文字が、順番にこの文字列バッファの内容に追加されます。その結果、引数の長さの分だけこの文字列バッファの長さが増えます。str
が null
の場合、"null"
の 4 文字がこの文字列バッファに追加されます。
append
メソッドの実行の直前に文字列バッファに格納されていた文字列の長さが n で、k が n より小さい場合、新しい文字列内のインデックス k にある文字は以前の文字列内のインデックス k に る文字に等しくなります。そうでない場合は、引数 str
内のインデックス k-n にある文字に等しくなります。
str
- 文字列
StringBuffer
への参照public StringBuffer append(StringBuffer sb)
StringBuffer 引数の文字が、順番にこの StringBuffer の内容に追加されます。その結果、引数の長さの分だけこの StringBuffer の長さが増えます。sb が null
の場合、"null" の 4 文字がこの StringBuffer に追加されます。
append
メソッドの実行の直前に StringBuffer に格納されていた文字列の長さが n の場合、新しい文字列内のインデックス k にある文字は以前の文字列内のインデックス k にある文字に等しくなります。そうでない場合は、引数 sb
内のインデックス k-n にある文字に等しくなります。
ensureCapacity メソッドは、この StringBuffer に対し、新規バッファの長さを引数として最初に呼び出されます (これにより、この StringBuffer の記憶域に追加文字が適切に含まれます)。
sb
- 追加する StringBuffer
public StringBuffer append(char[] str)
char
配列引数の文字列表現をこの文字列バッファに追加します。
配列引数の文字は、順番にこの文字列バッファの内容に追加されます。文字列バッファの長さは引数の長さの分だけ増えます。
最終的には、String.valueOf(char[])
メソッドによって引数が文字列に変換されてから、その文字列の文字がこの StringBuffer
オブジェクトに 追加
された場合とまったく同じ結果になります。
str
- 追加される文字
StringBuffer
オブジェクトへの参照public StringBuffer append(char[] str, int offset, int len)
char
配列引数の部分配列の文字列表現をこの文字列バッファに追加します。
文字配列 str
の文字は、インデックス offset
の位置を始点として、この文字列バッファに順番に追加されます。この文字列バッファの長さは len
の値の分だけ増加します。
最終的には、String.valueOf(char[],int,int)
メソッドによって引数が文字列に変換されてから、その文字列の文字がこの StringBuffer
オブジェクトに 追加
された場合とまったく同じ結果になります。
str
- 追加される文字offset
- 追加される最初の文字のインデックスlen
- 追加する文字数
StringBuffer
オブジェクトへの参照public StringBuffer append(boolean b)
boolean
引数の文字列表現をこの文字列バッファに追加します。
引数は、String.valueOf
メソッドによって変換される場合と同じように文字列に変換され、その文字列の文字がこの文字列バッファに追加されます。
b
- boolean
StringBuffer
への参照String.valueOf(boolean)
,
append(java.lang.String)
public StringBuffer append(char c)
char
引数の文字列表現をこの文字列バッファに追加します。
引数はこの文字列バッファの内容に追加されます。この文字列バッファの長さは 1
だけ増加します。
最終的には、String.valueOf(char)
メソッドによって引数が文字列に変換されてから、その文字列の文字がこの StringBuffer
オブジェクトに 追加
された場合とまったく同じ結果になります。
c
- char
StringBuffer
オブジェクトへの参照public StringBuffer append(int i)
int
引数の文字列表現をこの文字列バッファに追加します。
引数は、String.valueOf
メソッドによって変換される場合と同じように文字列に変換され、その文字列の文字がこの文字列バッファに追加されます。
i
- int
StringBuffer
オブジェクトへの参照String.valueOf(int)
,
append(java.lang.String)
public StringBuffer append(long l)
long
引数の文字列表現をこの文字列バッファに追加します。
引数は、String.valueOf
メソッドによって変換される場合と同じように文字列に変換され、その文字列の文字がこの文字列バッファに追加されます。
l
- long
StringBuffer
オブジェクトへの参照String.valueOf(long)
,
append(java.lang.String)
public StringBuffer append(float f)
float
引数の文字列表現をこの文字列バッファに追加します。
引数は、String.valueOf
メソッドによって変換される場合と同じように文字列に変換され、その文字列の文字がこの文字列バッファに追加されます。
f
- float
StringBuffer
オブジェクトへの参照String.valueOf(float)
,
append(java.lang.String)
public StringBuffer append(double d)
double
引数の文字列表現をこの文字列バッファに追加します。
引数は、String.valueOf
メソッドによって変換される場合と同じように文字列に変換され、その文字列の文字がこの文字列バッファに追加されます。
d
- double
StringBuffer
オブジェクトへの参照String.valueOf(double)
,
append(java.lang.String)
public StringBuffer delete(int start, int end)
StringBuffer
の部分文字列内の文字をすべて削除します。部分文字列は、指定された start
から始まり、インデックス end - 1
の位置にある文字まで、あるいはこれに該当する文字がない場合は StringBuffer
の最後までになります。start
と end
が等しい場合、何も変更はありません。
start
- 開始インデックス (この値を含む)end
- 終了インデックス (この値を含まない)
StringIndexOutOfBoundsException
- start
が負の値の場合、length()
より大きい場合、あるいは end
より大きい場合public StringBuffer deleteCharAt(int index)
StringBuffer
内の指定された位置にある文字を削除します。StringBuffer
の長さは 1 文字分短くなります。
index
- 削除される文字のインデックス
StringIndexOutOfBoundsException
- index
が負の値の場合、あるいは length()
に等しいかこれより大きい場合public StringBuffer replace(int start, int end, String str)
StringBuffer
の部分文字列の文字を、指定された String
の文字に置換します。部分文字列は、指定された start
から始まり、インデックス end - 1
の位置にある文字まで、あるいはこれに該当する文字がない場合は StringBuffer
の最後までになります。まず、部分文字列の文字が削除されてから、指定された String
が start
に挿入されます。StringBuffer
は、指定された String が収まるように、必要に応じて長くなります。
start
- 開始インデックス (この値を含む)end
- 終了インデックス (この値を含まない)str
- 以前の内容を置換する String
StringIndexOutOfBoundsException
- start
が負の値の場合、length()
より大きい場合、あるいは end
より大きい場合public String substring(int start)
StringBuffer
に現在格納されている文字列の一部が入った新しい String
を返します。部分文字列は、指定されたインデックスから始まり、StringBuffer
の最後までになります。
start
- 開始インデックス (この値を含む)
StringIndexOutOfBoundsException
- start
が 0 より小さい場合、あるいはこの StringBuffer
の長さより大きい場合public CharSequence subSequence(int start, int end)
次のフォームのメソッド呼び出しは、
次の呼び出しと正確に同じ動作になります。sb.subSequence(begin, end)
このメソッドにより、StringBuffer クラスがsb.substring(begin, end)
CharSequence
インタフェースを実装可能になります。
CharSequence
内の subSequence
start
- 開始インデックス (この値を含む)end
- 終了インデックス (この値を含まない)
IndexOutOfBoundsException
- start または end が負の値の場合、end が length() より大きい場合、あるいは start が end
より大きい場合public String substring(int start, int end)
StringBuffer
に現在格納されている文字列の一部が入った新しい String
を返します。部分文字列は、指定された start
から始まり、インデックス end - 1
にある文字までになります。
start
- 開始インデックス (この値を含む)end
- 終了インデックス (この値を含まない)
StringIndexOutOfBoundsException
- start
または end
が負の値の場合、length()
より大きい場合、あるいは start
が end
より大きい場合public StringBuffer insert(int index, char[] str, int offset, int len)
str
配列引数の部分配列の文字列表現をこの文字列バッファに挿入します。部分配列は指定された offset
で始まり、len
に指定された文字数分の長さです。部分配列の文字は、文字列バッファの index
で示される位置に挿入されます。StringBuffer
の長さは len
文字分だけ増加します。
index
- 部分配列を挿入する位置str
- 文字配列offset
- 挿入される部分配列の最初の文字のインデックスlen
- 挿入される部分配列の文字数
StringIndexOutOfBoundsException
- index
が負の値または length()
より大きい場合、offset
か len
が負の値の場合、あるいは (offset+len)
が str.length
より大きい場合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()
public StringBuffer insert(int offset, String str)
String
引数の文字が、この文字列バッファの指定されたオフセット位置に順番に挿入されます。その位置にあった文字は移動され、引数の長さの分だけこの文字列バッファの長さが増加します。str
が null
の場合は、"null"
の 4 文字がこの文字列バッファに挿入されます。
新しい文字列のインデックス k の位置にある文字は、次の文字に等しくなります。
offset
より小さい場合は、以前の文字シーケンスのインデックス k の位置にある文字
offset
より小さくはないが、offset+str.length()
より小さい場合、引数 str
のインデックス k-offset
の位置にある文字
offset+str.length()
以上の場合は、以前の文字シーケンスの k-str.length()
の位置にある文字
offset 引数は 0
以上で、この文字列バッファの長さに等しいかこれより小さくなければなりません。
offset
- オフセットstr
- 文字列
StringBuffer
オブジェクトへの参照
StringIndexOutOfBoundsException
- オフセットが無効な場合length()
public StringBuffer insert(int offset, char[] str)
char
配列引数の文字列表現を文字列バッファに挿入します。
配列引数の文字は、文字列バッファの offset
で示される位置に挿入されます。この文字列バッファの長さは引数の長さの分だけ増加します。
最終的には、String.valueOf(char[])
メソッドによって引数が文字列に変換されてから、その文字列の文字がこの StringBuffer
オブジェクトの offset
で示される位置に 挿入
された場合とまったく同じ結果になります。
offset
- オフセットstr
- 文字配列
StringBuffer
オブジェクトへの参照
StringIndexOutOfBoundsException
- オフセットが無効な場合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()
public StringBuffer insert(int offset, char c)
char
引数の文字列表現を文字列バッファに挿入します。
2 番目の引数が、文字列バッファの内容の offset
で指定される位置に挿入されます。この文字列バッファの長さが 1 文字分増加します。
最終的には、String.valueOf(char)
メソッドによって引数が文字列に変換されてから、その文字列の文字がこの StringBuffer
オブジェクトの offset
で指定される位置に 挿入
された場合とまったく同じ結果になります。
offset 引数は 0
以上で、この文字列バッファの長さに等しいかこれより小さくなければなりません。
offset
- オフセットc
- char
StringBuffer
オブジェクトへの参照
IndexOutOfBoundsException
- オフセットが無効な場合length()
public StringBuffer insert(int offset, int i)
int
引数の文字列表現を文字列バッファに挿入します。
2 番目の引数が String.valueOf
メソッドの場合と同じように文字列に変換され、その文字列の文字がこの文字列バッファの指定されたオフセットに挿入されます。
offset 引数は 0
以上で、この文字列バッファの長さに等しいかこれより小さくなければなりません。
offset
- オフセットi
- int
StringBuffer
オブジェクトへの参照
StringIndexOutOfBoundsException
- オフセットが無効な場合String.valueOf(int)
,
insert(int, java.lang.String)
,
length()
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()
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()
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()
public int indexOf(String str)
上の式がthis.toString().startsWith(str, k)
true
となるような最小の k です。
str
- 任意の文字列
-1
NullPointerException
- str
が null
の場合public int indexOf(String str, int fromIndex)
このような k の値が存在しない場合、-1 が返されます。k >= Math.min(fromIndex, str.length()) && this.toString().startsWith(str, k)
str
- 検索対象の部分文字列fromIndex
- 検索開始位置のインデックス
NullPointerException
- str
が null
の場合public int lastIndexOf(String str)
this.length()
と見なされます。返されるインデックスは、
上の式がthis.toString().startsWith(str, k)
true
となるような最大の k です。
str
- 検索対象の部分文字列
-1
NullPointerException
- str
が null
の場合public int lastIndexOf(String str, int fromIndex)
このような k の値が存在しない場合、-1 が返されます。k <= Math.min(fromIndex, str.length()) && this.toString().startsWith(str, k)
str
- 検索対象の部分文字列fromIndex
- 検索開始位置のインデックス
NullPointerException
- str
が null
の場合public StringBuffer reverse()
reverse
メソッドの実行の前に文字バッファに格納されていた以前の文字列の長さが n の場合、新しい文字列内のインデックス k にある文字は、以前の文字列内のインデックス n-k-1 の位置にあった文字に等しくなります。
StringBuffer
オブジェクトへの参照public String toString()
String
オブジェクトを割り当て、現在この文字列バッファが表す文字列を含むように初期化します。最後に、作成された String
を返します。この操作のあとに文字列バッファを変更しても、String
の内容には影響しません。
実装のアドバイス: このメソッドは、文字列のコピーを格納する新しいメモリを割り当てずに、新しい String
オブジェクトを生成するようにコーディングすることができます。この場合、文字列は文字列バッファによって使用されるメモリを共有します。文字列バッファの内容や容量を変更する後続のオペレーションは、その時点での内部バッファのコピーを作成することになります。この方法は、文字列連結オペレーションを文字列バッファを使って実装する場合に、割り当てられるメモリ量を減少させるのに効果的です。
CharSequence
内の toString
Object
内の toString
|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
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.