public final class StringBuffer extends Object implements Serializable, CharSequence
String に似ていますが、変更できる点が異なります。文字列バッファーには常に文字列が格納されていますが、文字列の長さと内容は特定のメソッドの呼び出しにより変更できます。
文字列バッファーは複数のスレッドによって安全に使用することができます。メソッドは必要に応じて同期化され、特定のインスタンスでのすべてのオペレーションが、関連のある個々のスレッドによって行われるメソッドの呼び出しの順序と一致する連続した順序で発生するように動作します。
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) と同じ結果になります。
処理にソースシーケンスが関連する場合 (ソースシーケンスからの追加や挿入など)、このクラスは、その処理を実行している文字列バッファーとだけ同期化し、ソースとは同期化しません。
各文字列バッファーには容量があります。文字列バッファーに含まれる文字列の長さが容量を超過しないかぎり、新しい内部バッファー配列を割り当てる必要はありません。内部バッファーがオーバーフローする場合、自動的に容量が増加します。
JDK 5 以降、このクラスは単一のスレッド StringBuilder により使用されるよう設計された等価のクラスで補足されています。 StringBuilder クラスは、このクラスと同じ処理をすべてサポートしながらも高速であり、同期を実行しないので、通常はこのクラスに優先して使用される必要があります。
StringBuilder, String, 直列化された形式| コンストラクタと説明 |
|---|
StringBuffer()
文字を持たず、初期容量が 16 文字である文字列バッファーを構築します。
|
StringBuffer(CharSequence seq)
指定された
CharSequence 引数と同じ文字を含む文字列バッファーを構築します。 |
StringBuffer(int capacity)
文字を持たず、指定された初期容量を持つ文字列バッファーを構築します。
|
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(CharSequence s)
指定された
CharSequence をこのシーケンスに追加します。 |
StringBuffer |
append(CharSequence s, int start, int end)
指定された
CharSequence のサブシーケンスをこのシーケンスに追加します。 |
StringBuffer |
append(double d)
double 引数の文字列表現をこのシーケンスに追加します。 |
StringBuffer |
append(float f)
float 引数の文字列表現をこのシーケンスに追加します。 |
StringBuffer |
append(int i)
int 引数の文字列表現をこのシーケンスに追加します。 |
StringBuffer |
append(long lng)
long 引数の文字列表現をこのシーケンスに追加します。 |
StringBuffer |
append(Object obj)
Object 引数の文字列表現を追加します。 |
StringBuffer |
append(String str)
指定された文字列をこの文字シーケンスに追加します。
|
StringBuffer |
append(StringBuffer sb)
指定された StringBuffer をこのシーケンスに追加します。
|
StringBuffer |
appendCodePoint(int codePoint)
codePoint 引数の文字列表現をこのシーケンスに追加します。 |
int |
capacity()
現在の容量を返します。
|
char |
charAt(int index)
このシーケンス内の指定されたインデックスの
char 値を返します。 |
int |
codePointAt(int index)
指定されたインデックス位置の文字 (Unicode コードポイント) を返します。
|
int |
codePointBefore(int index)
指定されたインデックスの前の文字 (Unicode コードポイント) を返します。
|
int |
codePointCount(int beginIndex, int endIndex)
このシーケンスの指定されたテキスト範囲に含まれる Unicode コードポイントの数を返します。
|
StringBuffer |
delete(int start, int end)
このシーケンスの部分文字列内の文字を削除します。
|
StringBuffer |
deleteCharAt(int index)
このシーケンス内の指定された位置にある
char を削除します。 |
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 dstOffset, CharSequence s)
指定された
CharSequence をこのシーケンスに挿入します。 |
StringBuffer |
insert(int dstOffset, CharSequence s, int start, int end)
指定された
CharSequence のサブシーケンスをこのシーケンスに挿入します。 |
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()
長さ (文字数) を返します。
|
int |
offsetByCodePoints(int index, int codePointOffset)
このシーケンス内で、指定された
index から codePointOffset コードポイント分だけオフセットされた位置のインデックスを返します。 |
StringBuffer |
replace(int start, int end, String str)
このシーケンスの部分文字列内の文字を、指定された
String 内の文字で置き換えます。 |
StringBuffer |
reverse()
この文字シーケンスを、シーケンスの順序を逆にしたもので置き換えます。
|
void |
setCharAt(int index, char ch)
指定されたインデックスの文字が
ch に設定されます。 |
void |
setLength(int newLength)
文字シーケンスの長さを設定します。
|
CharSequence |
subSequence(int start, int end)
このシーケンスのサブシーケンスである新規文字シーケンスを返します。
|
String |
substring(int start)
この文字シーケンスに現在含まれている文字の部分シーケンスを含む新しい
String を返します。 |
String |
substring(int start, int end)
このシーケンスに現在含まれている文字の部分シーケンスを含む新しい
String を返します。 |
String |
toString()
このシーケンス内のデータを表す文字列を返します。
|
void |
trimToSize()
この文字シーケンスで使用されているストレージの低減を試みます。
|
public StringBuffer()
public StringBuffer(int capacity)
capacity - 初期容量。NegativeArraySizeException - capacity 引数が 0 未満の場合。public StringBuffer(String str)
16 に文字列引数の長さを加えたものです。str - バッファーの初期内容。NullPointerException - str が null である場合public StringBuffer(CharSequence seq)
CharSequence 引数と同じ文字を含む文字列バッファーを構築します。文字列バッファーの初期容量は、16 に CharSequence 引数の長さを加えたものです。
指定された CharSequence の長さがゼロ以下の場合、容量 16 の空のバッファーが返されます。
seq - コピー対象のシーケンス。NullPointerException - seq が null である場合public int length()
length、インタフェース: CharSequencepublic int capacity()
public void ensureCapacity(int minimumCapacity)
minimumCapacity 引数。
2 を加えた値。
minimumCapacity 引数が正の値でない場合、このメソッドは何も行わずに復帰します。minimumCapacity 保証したい最小容量。public void trimToSize()
capacity() メソッドを呼び出した際に返される値に影響する可能性がありますが、必ずそうとはかぎりません。public void setLength(int newLength)
newLength より小さいすべての負でないインデックス k について、k が以前の文字シーケンスの長さより小さい場合、新しい文字シーケンス内のインデックス k の文字は、以前のシーケンス内のインデックス k の文字と同じになります。それ以外の場合、それは null 文字 '\u0000' になります。
つまり、newLength 引数が現在の長さより小さい場合、その長さが指定された長さに変更されます。
newLength 引数が現在の長さと等しいかそれより大きい場合は、長さが newLength 引数になるように、十分な数の null 文字 ('\u0000') が追加されます。
newLength 引数は 0 以上でなければなりません。
newLength - 新しい長さIndexOutOfBoundsException - newLength 引数が負の場合。length()public char charAt(int index)
char 値を返します。配列のインデックスと同様に、最初の char 値の位置がインデックス 0、次の文字の位置が 1、といった具合になります。
index 引数は、0 以上で、このシーケンスの長さより小さくなければなりません。
インデックスで指定された char 値がサロゲートの場合、サロゲート値が返されます。
charAt、インタフェース: CharSequenceindex - 目的の char 値のインデックス。char 値。IndexOutOfBoundsException - index が負の値の場合、あるいは length() に等しいかこれより大きい場合。length()public int codePointAt(int index)
char 値 (Unicode コード単位) を参照し、その範囲は 0 - length() - 1 になります。
指定されたインデックスで指定された char 値が上位サロゲート範囲にあり、それに続くインデックスがこのシーケンスの長さ未満で、以降のインデックスの char 値が下位サロゲート範囲にある場合、このサロゲートペアに対応する補助コードポイントが返されます。それ以外の場合は、指定されたインデックスにある char 値が返されます。
index - char 値へのインデックスindex にある文字のコードポイント値public int codePointBefore(int index)
char 値 (Unicode コード単位) を参照し、その範囲は 1 - length() になります。
(index - 1) の char 値が下位サロゲート範囲に含まれており、(index - 2) が負でなく、かつ (index - 2) の char 値が上位サロゲートに含まれている場合、そのサロゲートペアの補助コードポイント値が返されます。index - 1 の char 値が、ペアになっていない下位サロゲートであるか、または上位サロゲートである場合、そのサロゲート値が返されます。
index - 返すべきコードポイントの直後のインデックスpublic int codePointCount(int beginIndex,
int endIndex)
beginIndex からインデックス endIndex - 1 の位置の char までです。したがって、テキスト範囲の長さ (char 数) は、endIndex-beginIndex になります。このシーケンス内でペアになっていないサロゲートは、それぞれ 1 つのコードポイントとして数えられます。beginIndex - テキスト範囲内の最初の char へのインデックス。endIndex - テキスト範囲内の最後の char の直後のインデックス。public int offsetByCodePoints(int index,
int codePointOffset)
index から codePointOffset コードポイント分だけオフセットされた位置のインデックスを返します。index と codePointOffset で指定されるテキスト範囲内でペアになっていないサロゲートは、それぞれ 1 つのコードポイントとして数えられます。index - オフセットされるインデックスcodePointOffset - オフセット (コードポイント数)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 引数より大きい
srcEnd が this.length() より大きい
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(Object) メソッドによって引数が文字列に変換されてから、その文字列の文字がこの文字シーケンスに追加された場合とまったく同じ結果になります。
obj - Object。public StringBuffer append(String str)
String 引数の文字は、順番に追加され、引数の長さの分だけこのシーケンスの長さが増えます。str が null の場合は、"null" という 4 文字が追加されます。
append メソッドの実行直前に、この文字シーケンスの長さが n であったとします。このとき、新しい文字シーケンス内のインデックス k の文字は、k が n より小さい場合は以前の文字シーケンス内のインデックス k の文字と等しくなり、それ以外の場合は引数 str 内のインデックス k-n の文字と等しくなります。
str - 文字列。public StringBuffer append(StringBuffer sb)
StringBuffer 引数の文字が、順番にこの StringBuffer の内容に追加されます。その結果、引数の長さの分だけこの StringBuffer の長さが増えます。sb が null の場合は、この StringBuffer に「null」という 4 文字が追加されます。
append メソッドの実行の直前に StringBuffer に格納されていた文字列の長さが n であるとします。このとき、新しい文字シーケンス内のインデックス k の文字は、k が n より小さい場合は以前の文字シーケンス内のインデックス k の文字と等しくなり、それ以外の場合は引数 sb 内のインデックス k-n の文字と等しくなります。
このメソッドは、this (追加先) オブジェクトと同期しますが、ソース (sb) とは同期しません。
sb - 追加する StringBuffer。public StringBuffer append(CharSequence s)
CharSequence をこのシーケンスに追加します。
CharSequence 引数の文字は、順番に追加され、引数の長さの分だけこのシーケンスの長さが増えます。
このメソッドの結果は、this.append(s, 0, s.length()); の呼び出しとまったく同じです。
このメソッドは、この (追加先) オブジェクトと同期しますが、ソース (s) とは同期しません。
s が null の場合は、"null" という 4 文字が追加されます。
append、インタフェース: Appendables - 追加する CharSequence。public StringBuffer append(CharSequence s, int start, int end)
CharSequence のサブシーケンスをこのシーケンスに追加します。
引数 s のインデックス start からインデックス end -1 までの文字が、このシーケンスの内容に順番に追加されます。このシーケンスの長さは end - start の値だけ増えます。
append メソッドの実行直前に、この文字シーケンスの長さが n であったとします。このとき、この文字シーケンス内のインデックス k の文字は、k が n より小さい場合はこのシーケンス内のインデックス k の文字と等しくなり、それ以外の場合は引数 s 内のインデックス k+start-n の文字と等しくなります。
s が null の場合、このメソッドは s パラメータが "null" という 4 文字を含むシーケンスであるかのように、文字を追加します。
append、インタフェース: Appendables - 追加されるシーケンス。start - 追加される部分シーケンスの開始インデックス。end - 追加される部分シーケンスの終了インデックス。IndexOutOfBoundsException - start が負の値の場合、start が end より大きい場合、または end が s.length() より大きい場合public StringBuffer append(char[] str)
char 配列引数の文字列表現をこのシーケンスに追加します。
配列引数の文字がこのシーケンスの内容に順番に追加されます。このシーケンスの長さは、引数の長さの分だけ増えます。
最終的には、String.valueOf(char[]) メソッドによって引数が文字列に変換されてから、その文字列の文字がこの文字シーケンスに追加された場合とまったく同じ結果になります。
str - 追加される文字。public StringBuffer append(char[] str, int offset, int len)
char 配列引数の部分配列の文字列表現を、このシーケンスに追加します。
char 配列 str のインデックス offset 以降の文字が、このシーケンスの内容に順番に追加されます。このシーケンスの長さは len の値だけ増えます。
最終的には、String.valueOf(char[],int,int) メソッドによって引数が文字列に変換されてから、その文字列の文字がこの文字シーケンスに追加された場合とまったく同じ結果になります。
str - 追加される文字。offset - 追加される最初の char のインデックス。len - 追加される char の数。IndexOutOfBoundsException - offset < 0 または len < 0 または offset+len > str.length の場合public StringBuffer append(boolean b)
boolean 引数の文字列表現をシーケンスに追加します。
最終的には、String.valueOf(boolean) メソッドによって引数が文字列に変換されてから、その文字列の文字がこの文字シーケンスに追加された場合とまったく同じ結果になります。
b - boolean。public StringBuffer append(char c)
char 引数の文字列表現をこのシーケンスに追加します。
引数がこのシーケンスの内容に追加されます。このシーケンスの長さは 1 だけ増えます。
最終的には、String.valueOf(char) メソッドによって引数が文字列に変換されてから、その文字列の文字がこの文字シーケンスに追加された場合とまったく同じ結果になります。
append、インタフェース: Appendablec - char。public StringBuffer append(int i)
int 引数の文字列表現をこのシーケンスに追加します。
最終的には、String.valueOf(int) メソッドによって引数が文字列に変換されてから、その文字列の文字がこの文字シーケンスに追加された場合とまったく同じ結果になります。
i - int。public StringBuffer appendCodePoint(int codePoint)
codePoint 引数の文字列表現をこのシーケンスに追加します。
引数がこのシーケンスの内容に追加されます。このシーケンスの長さは Character.charCount(codePoint) だけ増えます。
最終的には、Character.toChars(int) メソッドによって引数が char 配列に変換されてから、その配列の文字がこの文字シーケンスに追加された場合とまったく同じ結果になります。
codePoint - Unicode コードポイントpublic StringBuffer append(long lng)
long 引数の文字列表現をこのシーケンスに追加します。
最終的には、String.valueOf(long) メソッドによって引数が文字列に変換されてから、その文字列の文字がこの文字シーケンスに追加された場合とまったく同じ結果になります。
lng - long。public StringBuffer append(float f)
float 引数の文字列表現をこのシーケンスに追加します。
最終的には、String.valueOf(float) メソッドによって引数が文字列に変換されてから、その文字列の文字がこの文字シーケンスに追加された場合とまったく同じ結果になります。
f - float。public StringBuffer append(double d)
double 引数の文字列表現をこのシーケンスに追加します。
最終的には、String.valueOf(double) メソッドによって引数が文字列に変換されてから、その文字列の文字がこの文字シーケンスに追加された場合とまったく同じ結果になります。
d - double。public StringBuffer delete(int start, int end)
start から始まり、インデックス end - 1 の文字までになりますが、そのような文字が存在しない場合はシーケンスの末尾までになります。start が end に等しい場合、変更は一切行われません。start - 開始インデックス (この値を含む)。end - 終了インデックス (この値を含まない)。StringIndexOutOfBoundsException - start が負の値の場合、length() より大きい場合、あるいは end より大きい場合。public StringBuffer deleteCharAt(int index)
char を削除します。このシーケンスは 1 char 分だけ短くなります。
注: 指定されたインデックスの文字が補助文字であっても、このメソッドはその文字全体を削除しません。補助文字の処理を正しく行う必要がある場合は、Character.charCount(thisSequence.codePointAt(index)) (thisSequence はこのシーケンス) を呼び出して、削除される char の数を確認します。
index - 削除される char のインデックスStringIndexOutOfBoundsException - index が負の値の場合、あるいは length() に等しいかこれより大きい場合。public StringBuffer replace(int start, int end, String str)
String 内の文字で置き換えます。部分文字列は、指定された start から始まり、インデックス end - 1 の文字までになりますが、そのような文字が存在しない場合はシーケンスの末尾までになります。まず、部分文字列内の文字が削除され、続いて、指定された String が start の位置に挿入されます。(必要であれば、指定された String に合わせてこのシーケンスの長さが調整されます。)start - 開始インデックス (この値を含む)。end - 終了インデックス (この値を含まない)。str - 以前の内容を置換する String。StringIndexOutOfBoundsException - start が負の値の場合、length() より大きい場合、あるいは end より大きい場合。public String substring(int start)
String を返します。部分文字列は指定されたインデックスで始まり、このシーケンスの末尾までになります。start - 開始インデックス (この値を含む)。StringIndexOutOfBoundsException - start が 0 より小さい場合、あるいはこのオブジェクトの長さより大きい場合。public CharSequence subSequence(int start, int end)
次のフォームのメソッド呼び出しは、
次の呼び出しと正確に同じ動作になります。sb.subSequence(begin, end)
このメソッドが提供されているのは、このクラスがsb.substring(begin, end)
CharSequence インタフェースを実装できるようにするためです。subSequence、インタフェース: CharSequencestart - 開始インデックス (この値を含む)。end - 終了インデックス (この値を含まない)。IndexOutOfBoundsException - start または end が負の値の場合、end が length() よりも大きい場合、あるいは start が end よりも大きい場合public String substring(int start, int end)
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 char 個分になります。このシーケンス内の index で示される位置に部分配列の文字が挿入されます。このシーケンスの長さは、len 個の char 分だけ増えます。index - 部分配列を挿入する位置。str - char 配列。offset - 挿入される部分配列の最初の char のインデックス。len - 挿入される部分配列の char 数。StringIndexOutOfBoundsException - index が負の値であるか length() より大きい場合、offset または len が負の値の場合、あるいは (offset+len) が str.length より大きい場合。public StringBuffer insert(int offset, Object obj)
Object 引数の文字列表現をこの文字シーケンスに挿入します。
最終的には、String.valueOf(Object) メソッドによって 2 番目の引数が文字列に変換されてから、その文字列の文字がこの文字シーケンス内の指定されたオフセット位置に挿入された場合とまったく同じ結果になります。
offset 引数は 0 に等しいかそれより大きく、このシーケンスの長さに等しいかこれより小さくなければなりません。
offset - オフセット。obj - Object。StringIndexOutOfBoundsException - オフセットが無効な場合。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 - 文字列。StringIndexOutOfBoundsException - オフセットが無効な場合。public StringBuffer insert(int offset, char[] str)
char 配列引数の文字列表現をこのシーケンスに挿入します。
このシーケンスの内容の offset で示された位置に、配列引数の文字が挿入されます。このシーケンスの長さは、引数の長さの分だけ増えます。
最終的には、String.valueOf(char[]) メソッドによって 2 番目の引数が文字列に変換されてから、その文字列の文字がこの文字シーケンス内の指定されたオフセット位置に挿入された場合とまったく同じ結果になります。
offset 引数は 0 に等しいかそれより大きく、このシーケンスの長さに等しいかこれより小さくなければなりません。
offset - オフセット。str - 文字配列。StringIndexOutOfBoundsException - オフセットが無効な場合。public StringBuffer insert(int dstOffset, CharSequence s)
CharSequence をこのシーケンスに挿入します。
このシーケンスの指定されたオフセット位置に CharSequence 引数の文字が順番に挿入され、その位置にもともとあった文字がすべて上方に移動され、このシーケンスの長さが引数 s の長さ分だけ増加します。
このメソッドの結果は、このオブジェクトの insert(dstOffset, s, 0, s.length()) メソッドの呼び出しとまったく同じです。
s が null の場合は、"null" という 4 文字がこのシーケンスに挿入されます。
dstOffset - オフセット。s - 挿入されるシーケンスIndexOutOfBoundsException - オフセットが無効な場合。public StringBuffer insert(int dstOffset, CharSequence s, int start, int end)
CharSequence のサブシーケンスをこのシーケンスに挿入します。
start と end で指定される引数 s の部分シーケンスが、このシーケンス内の指定された挿入先 offset に順番に挿入され、その位置にもともとあった文字はすべて上方に移動されます。このシーケンスの長さは end - start だけ増えます。
このシーケンス内のインデックス k の位置にある文字は、次に等しくなります。
dstOffset より小さい場合は、このシーケンス内のインデックス k の位置にある文字
dstOffset に等しいかそれより大きく、dstOffset+end-start より小さい場合は、引数 s 内のインデックス k+start-dstOffset の位置にある文字
dstOffset+end-start に等しいかそれより大きい場合は、このシーケンス内のインデックス k-(end-start) の位置にある文字
dstOffset 引数は 0 に等しいかそれより大きく、このシーケンスの長さに等しいかこれより小さくなければなりません。
start 引数は負でない値でなければならず、end より大きくてはいけません。
end 引数は、start に等しいかそれより大きく、s の長さに等しいかそれより小さくなければなりません。
s が null の場合、このメソッドは s パラメータが "null" という 4 文字を含むシーケンスであるかのように、文字を挿入します。
dstOffset - このシーケンス内のオフセット。s - 挿入されるシーケンス。start - 挿入される部分シーケンスの開始インデックス。end - 挿入される部分シーケンスの終了インデックス。IndexOutOfBoundsException - dstOffset が負の値であるか this.length() より大きい場合、start または end が負の値の場合、start が end より大きい場合、あるいは end が s.length() より大きい場合public StringBuffer insert(int offset, boolean b)
boolean 引数の文字列表現をこのシーケンスに挿入します。
最終的には、String.valueOf(boolean) メソッドによって 2 番目の引数が文字列に変換されてから、その文字列の文字がこの文字シーケンス内の指定されたオフセット位置に挿入された場合とまったく同じ結果になります。
offset 引数は 0 に等しいかそれより大きく、このシーケンスの長さに等しいかこれより小さくなければなりません。
offset - オフセット。b - boolean。StringIndexOutOfBoundsException - オフセットが無効な場合。public StringBuffer insert(int offset, char c)
char 引数の文字列表現をこのシーケンスに挿入します。
最終的には、String.valueOf(char) メソッドによって 2 番目の引数が文字列に変換されてから、その文字列の文字がこの文字シーケンス内の指定されたインデックス位置に挿入された場合とまったく同じ結果になります。
offset 引数は 0 に等しいかそれより大きく、このシーケンスの長さに等しいかこれより小さくなければなりません。
offset - オフセット。c - char。IndexOutOfBoundsException - オフセットが無効な場合。public StringBuffer insert(int offset, int i)
int 引数の文字列表現をこのシーケンスに挿入します。
最終的には、String.valueOf(int) メソッドによって 2 番目の引数が文字列に変換されてから、その文字列の文字がこの文字シーケンス内の指定されたオフセット位置に挿入された場合とまったく同じ結果になります。
offset 引数は 0 に等しいかそれより大きく、このシーケンスの長さに等しいかこれより小さくなければなりません。
offset - オフセット。i - int。StringIndexOutOfBoundsException - オフセットが無効な場合。public StringBuffer insert(int offset, long l)
long 引数の文字列表現をこのシーケンスに挿入します。
最終的には、String.valueOf(long) メソッドによって 2 番目の引数が文字列に変換されてから、その文字列の文字がこの文字シーケンス内の指定されたオフセット位置に挿入された場合とまったく同じ結果になります。
offset 引数は 0 に等しいかそれより大きく、このシーケンスの長さに等しいかこれより小さくなければなりません。
offset - オフセット。l - long。StringIndexOutOfBoundsException - オフセットが無効な場合。public StringBuffer insert(int offset, float f)
float 引数の文字列表現をこのシーケンスに挿入します。
最終的には、String.valueOf(float) メソッドによって 2 番目の引数が文字列に変換されてから、その文字列の文字がこの文字シーケンス内の指定されたオフセット位置に挿入された場合とまったく同じ結果になります。
offset 引数は 0 に等しいかそれより大きく、このシーケンスの長さに等しいかこれより小さくなければなりません。
offset - オフセット。f - float。StringIndexOutOfBoundsException - オフセットが無効な場合。public StringBuffer insert(int offset, double d)
double 引数の文字列表現をこのシーケンスに挿入します。
最終的には、String.valueOf(double) メソッドによって 2 番目の引数が文字列に変換されてから、その文字列の文字がこの文字シーケンス内の指定されたオフセット位置に挿入された場合とまったく同じ結果になります。
offset 引数は 0 に等しいかそれより大きく、このシーケンスの長さに等しいかこれより小さくなければなりません。
offset - オフセット。d - double。StringIndexOutOfBoundsException - オフセットが無効な場合。public int indexOf(String str)
がthis.toString().startsWith(str, k)
true である。str - 任意の文字列。-1。NullPointerException - str が null である場合。public int indexOf(String str, int fromIndex)
k >= Math.min(fromIndex, str.length()) &&
this.toString().startsWith(str, k)
このような k の値が存在しない場合、-1 が返されます。str - 検索対象の部分文字列。fromIndex -検索開始位置のインデックス。NullPointerException - str が null である場合。public int lastIndexOf(String str)
this.length() と見なされます。返されるインデックスは、次を満たす最大値 k になります。
が true である。this.toString().startsWith(str, k)
str - 検索対象の部分文字列。-1。NullPointerException - str が null である場合。public int lastIndexOf(String str, int fromIndex)
k <= Math.min(fromIndex, str.length()) &&
this.toString().startsWith(str, k)
このような k の値が存在しない場合、-1 が返されます。str - 検索対象の部分文字列。fromIndex - 検索開始位置のインデックス。NullPointerException - str が null である場合。public StringBuffer reverse()
reverse メソッドの実行直前に、この文字シーケンスの文字長 (char 値での長さではない) が n であったとします。このとき、新しい文字シーケンス内のインデックス k の文字は、以前の文字シーケンス内のインデックス n-k-1 の文字と等しくなります。
反転操作を行うと、操作前にはペアになっていなかった下位サロゲートと上位サロゲートからサロゲートペアが生成される可能性があります。たとえば、「\uDC00\uD800」を反転すると「\uD800\uDC00」が生成されますが、これは有効なサロゲートペアです。
public String toString()
String オブジェクトが割り当てられ、現在このオブジェクトで表されている文字シーケンスを含むように初期化されます。その後、この String が返されます。その後このシーケンスが変更されても、String の内容には影響ありません。toString、インタフェース: CharSequence バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.