|
CDC 1.1.2 | |||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object java.lang.StringBuffer
public final class 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
- バッファーの初期内容
NullPointerException
- str
が null
の場合メソッドの詳細 |
---|
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 文字 '\u0000'
になります。
つまり、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
となります。文字は dst
の部分配列にコピーされます。 始点のインデックスは dstBegin
で、終点のインデックスは次のようになります。
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 にある文字に等しくなります。
この StringBuffer に対して、ensureCapacity メソッドが、新しいバッファーの長さを引数として最初に呼び出されます。これにより、この 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)
true
となるような最小値 k になります。
this.toString().startsWith(str, 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()
とみなされます。返されるインデックスは、次の式が true
となるような最大値 k になります。
this.toString().startsWith(str, 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
|
CDC 1.1.2 | |||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |