|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Objectjava.lang.StringBuffer
public final class StringBuffer
スレッドセーフな可変の文字列。文字列バッファは 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)
codePointOffset コードポイントによって指定された index からのオフセットであるこのシーケンス内のインデックスを返します。 |
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()
文字シーケンスに使用される記憶領域を減らそうとします。 |
| クラス java.lang.Object から継承されたメソッド |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| コンストラクタの詳細 |
|---|
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()
CharSequence 内の lengthpublic 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 引数が現在の長さと等しいか大きい場合は、長さが newLength 引数になるように、文字列バッファに必要なだけの null 文字 ('\u0000') が追加されます。
newLength 引数は 0 以上でなければなりません。
newLength - 新しい長さ
IndexOutOfBoundsException - newLength 引数が負の値の場合
length()public char charAt(int index)
char 値を返します。
配列のインデックス付けの場合と同じように、シーケンスの最初の char 値のインデックスは 0、次の文字のインデックスは 1 と続きます。
インデックス引数は 0 以上かつシーケンスの長さより小さくなければなりません。
インデックスで指定された char 値がサロゲートの場合、サロゲート値が返されます。
CharSequence 内の charAtindex - char 値のインデックス
char 値。
IndexOutOfBoundsException - index が負の値、または文字列の長さ以上である場合
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)
codePointOffset コードポイントによって指定された index からのオフセットである、このシーケンス内のインデックスを返します。
index と codePointOffset によって指定されたテキスト範囲内でペアになっていないサロゲートは、それぞれ 1 つのコードポイントとして数えられます。
index - オフセットへのインデックス
codePointOffset - コードポイント内のオフセット
public void getChars(int srcBegin,
int srcEnd,
char[] dst,
int dstBegin)
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 メソッドによって変換される場合と同じように文字列に変換され、その文字列の文字がこのシーケンスに追加されます。
obj - Object
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 - 文字列
public StringBuffer append(StringBuffer sb)
StringBuffer 引数の文字が、順番にこの StringBuffer の内容に追加されます。その結果、引数の長さの分だけこの StringBuffer の長さが増えます。sb が null の場合、「null」という 4 文字がこの StringBuffer に追加されます。
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 文字が追加されます。
Appendable 内の appends - 追加される CharSequence
public StringBuffer append(CharSequence s,
int start,
int end)
CharSequence のサブシーケンスをこのシーケンスに追加します。
引数 s の文字はインデックス start から始まってインデックス end (この値を含まない) まで順番にこのシーケンスの内容に追加されます。
このシーケンスの長さは end - start の値分長くなります。
append メソッドの実行の直前に文字シーケンスに格納されていた文字列の長さが n で、k が n より小さい場合、この文字シーケンス内のインデックス k にある文字はこのシーケンス内のインデックス k にある文字に等しくなります。
そうでない場合は、引数 s にあるインデックス k+start-n にある文字に等しくなります。
s が null の場合、このメソッドは s パラメータが "null" の 4 文字を含むシーケンスだったとして文字を追加します。
Appendable 内の appends - 追加するシーケンス
start - 追加されるサブシーケンスの開始インデックス
end - 追加されるサブシーケンスの終了インデックス
IndexOutOfBoundsException - start または end が負、または start が end よりも長い、または end が s.length() よりも長い場合
public StringBuffer append(char[] str)
char 配列引数の文字列表現をこのシーケンスに追加します。
配列引数の文字は、このシーケンスの内容に順番に追加されます。 このシーケンスの長さは引数の長さの分だけ増加します。
最終的には、String.valueOf(char[]) メソッドによって引数が文字列に変換されてから、その文字列の文字がこの文字シーケンスに append された場合とまったく同じ結果になります。
str - 追加される文字
public StringBuffer append(char[] str,
int offset,
int len)
char 配列引数の部分配列の文字列表現をこのシーケンスに追加します。
文字配列 str の文字は、インデックス offset の位置を始点として、このシーケンスに順番に追加されます。
このシーケンスの長さは len の値の分だけ増加します。
最終的には、String.valueOf(char[],int,int) メソッドによって引数が文字列に変換されてから、その文字列の文字がこの文字シーケンスに append された場合とまったく同じ結果になります。
str - 追加される文字
offset - 最初の char のインデックス
len - 追加する char 数
public StringBuffer append(boolean b)
boolean 引数の文字列表現をこのシーケンスに追加します。
引数は、String.valueOf メソッドによって変換される場合と同じように文字列に変換され、その文字列の文字がこのシーケンスに追加されます。
b - boolean
String.valueOf(boolean),
append(java.lang.String)public StringBuffer append(char c)
char 引数の文字列表現をこのシーケンスに追加します。
引数はこのシーケンスに追加されます。
この文字列バッファの長さは 1 だけ増加します。
最終的には、String.valueOf(char) メソッドによって引数が文字列に変換されてから、その文字列の文字がこの文字シーケンスに append された場合とまったく同じ結果になります。
Appendable 内の appendc - char
public StringBuffer append(int i)
int 引数の文字列表現をこのシーケンスに追加します。
引数は、String.valueOf メソッドによって変換される場合と同じように文字列に変換され、その文字列の文字がこのシーケンスに追加されます。
i - int
String.valueOf(int),
append(java.lang.String)public StringBuffer appendCodePoint(int codePoint)
codePoint 引数の文字列表現をこのシーケンスに追加します。
この引数はこのシーケンスの内容に追加されます。
このシーケンスの長さは Character.charCount(codePoint) の分長くなります。
最終的には、Character.toChars(int) メソッドによって引数が char 配列に変換されてから、その配列の文字がこの文字シーケンスに append された場合とまったく同じ結果になります。
codePoint - Unicode コードポイント
public StringBuffer append(long lng)
long 引数の文字列表現をこのシーケンスに追加します。
引数は、String.valueOf メソッドによって変換される場合と同じように文字列に変換され、その文字列の文字がこのシーケンスに追加されます。
lng - long
String.valueOf(long),
append(java.lang.String)public StringBuffer append(float f)
float 引数の文字列表現をこのシーケンスに追加します。
引数は、String.valueOf メソッドによって変換される場合と同じように文字列に変換され、その文字列の文字がこの文字シーケンスに追加されます。
f - float
String.valueOf(float),
append(java.lang.String)public StringBuffer append(double d)
double 引数の文字列表現をこのシーケンスに追加します。
引数は、String.valueOf メソッドによって変換される場合と同じように文字列に変換され、その文字列の文字がこのシーケンスに追加されます。
d - double
String.valueOf(double),
append(java.lang.String)
public StringBuffer delete(int start,
int end)
start から始まり、インデックス end - 1 の位置にある文字まで、あるいはこれに該当する文字がない場合はシーケンスの最後までになります。
start と end が等しい場合、何も変更はありません。
start - 開始インデックス (この値を含む)
end - 終了インデックス (この値を含まない)
StringIndexOutOfBoundsException - start が負の値の場合、length() より大きい場合、あるいは endより大きい場合
public StringBuffer deleteCharAt(int index)
char 分短くなります。
注意: 任意のインデックスで文字が補助文字の場合、このメソッドは文字全体を削除しません。
補助文字の正確な処理が必要な場合は、Character.charCount(thisSequence.codePointAt(index)) を呼び出して削除する char の数を決め、thisSequence をこのシーケンスとしてください。
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 インタフェースを実装可能になります。
CharSequence 内の subSequencestart - 開始インデックス (この値を含む)
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 引数の文字列表現をこの文字シーケンスに挿入します。
2 番目の引数が String.valueOf メソッドの場合と同じように文字列に変換され、その文字列の文字がこのシーケンスの指定されたオフセットに挿入されます。
offset 引数は 0 以上で、このシーケンスの長さに等しいかこれより小さくなければなりません。
offset - オフセット
obj - Object
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 - 文字列
StringIndexOutOfBoundsException - オフセットが無効な場合
length()
public StringBuffer insert(int offset,
char[] str)
char 配列引数の文字列表現をこのシーケンスに挿入します。
配列引数の文字は、このシーケンスの offset で示される位置に挿入されます。
このシーケンスの長さは引数の長さの分だけ増加します。
最終的には、String.valueOf(char[]) メソッドによって引数が文字列に変換されてから、その文字列の文字がこの文字シーケンスの offset で示される位置に insert された場合とまったく同じ結果になります。
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 のサブシーケンスは順番にこのシーケンスの指定された目的オフセットに挿入されます。
その位置にあった文字を動かしシーケンスの長さは 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 引数の文字表現をこのシーケンスに挿入します。
2 番目の引数が、メソッド String.valueOf で変換されるように変換され、このシーケンスの offset で指定される位置に挿入されます。
offset 引数は 0 以上で、このシーケンスの長さに等しいかこれより小さくなければなりません。
offset - オフセット
b - boolean
StringIndexOutOfBoundsException - オフセットが無効な場合
String.valueOf(boolean),
insert(int, java.lang.String),
length()
public StringBuffer insert(int offset,
char c)
char 引数の文字列表現をこのシーケンスに挿入します。
2 番目の引数が、このシーケンスの offset で指定される位置に挿入されます。このシーケンスの長さが 1 文字分増加します。
最終的には、 String.valueOf(char) メソッドによって引数が文字列に変換されてから、その文字列の文字がこの文字シーケンスの offset で指定される位置に insert された場合とまったく同じ結果になります。
offset 引数は 0 以上で、このシーケンスの長さに等しいかこれより小さくなければなりません。
offset - オフセット
c - char
IndexOutOfBoundsException - オフセットが無効な場合
length()
public StringBuffer insert(int offset,
int i)
int 引数の文字列表現をこのシーケンスに挿入します。
2 番目の引数が String.valueOf メソッドの場合と同じように文字列に変換され、その文字列の文字がこのシーケンスの指定されたオフセットに挿入されます。
offset 引数は 0 以上で、このシーケンスの長さに等しいかこれより小さくなければなりません。
offset - オフセット
i - int
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
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
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
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 >= Math.min(fromIndex, str.length()) &&
this.toString().startsWith(str, k)
このような k の値が存在しない場合、-1 が返されます。
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 <= 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 の位置にあった文字に等しくなります。
reverse 操作を行う場合、ペアになっていない下位サロゲートおよび上位サロゲートが操作の前に作成される可能性があります。 たとえば、"\uDC00\uD800" を逆にすると、有効なサロゲートペアである "\uD800\uDC00" を作成します。
public String toString()
String オブジェクトを割り当て、現在このオブジェクトが表す文字シーケンスを含むように初期化します。
最後に、作成された String を返します。
この操作のあとにこのシーケンスを変更しても、String の内容には影響しません。
CharSequence 内の toString
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。