クラスStringBuilder
- すべての実装されたインタフェース:
Serializable,Appendable,CharSequence,Comparable<StringBuilder>
StringBufferと互換性があるAPIを提供しますが、同期化は保証されません。 このクラスは、文字列バッファが単一のスレッド(一般的なケース)により使用されていた 合のStringBufferの簡単な代替として使用されるよう設計されています。 このクラスは、ほとんどの実装で高速に実行されるので、可能な 合は、StringBufferよりも優先して使用することをお薦めします。
StringBuilderの基本的なオペレーションには、appendメソッドおよびinsertメソッドがあり、これらのメソッドはどんな種類のデータも受け取ることができるようにオーバーロードされています。 メソッドはそれぞれ与えられたデータを効率的に文字列に変換し、文字列中の文字を文字列ビルダーに追 または挿入します。 appendメソッドは常に、ビルダーの末尾に与えられた文字を追 し、insertメソッドは指定された位置に文字を追 します。
たとえば、zを、現在「start」を含む文字列ビルダー・オブジェクトと見なす 合、z.append("le")は文字列ビルダーの内容が「startle」になるように変更するのに対して、z.insert(4, "le")というメソッド呼出しは文字列ビルダーの内容が「starlet」になるように作用します。
一般に、sbがStringBuilderのインスタンスを参照している 合、sb.append(x)はsb.insert(sb.length(), x)と同じ結果になります。
各文字列ビルダーには容量があります。 文字列ビルダーに含まれる文字列の長さが容量を超過しないかぎり、新しい内部バッファを割り当てる必要はありません。 内部バッファがオーバーフローする 合、自動的に容量が増 します。
StringBuilderのインスタンスは、複数のスレッドで使用するには安全ではありません。 このような同期が必要な 合は、StringBufferを使用することをお薦めします。
ほかで指定がない 合、null引数をコンストラクタまたはこのクラスのメソッドへ渡すと、NullPointerExceptionがスローされます。
- APIのノート:
StringBuilderはComparableを実装しますが、equalsはオーバーライドしません。 したがって、StringBuilderの自然な 序はequalsと一致しません。StringBuilderオブジェクトがSortedMapのキーまたはSortedSetの要 として使用される 合は注意が必要です。 詳細は、Comparable、SortedMapまたはSortedSetを参照してく さい。- 導入されたバージョン:
- 1.5
- 関連 目:
-
コンストラクタのサマリー
コンストラクタコンストラクタ説明文字を持たず、初期容量が16文字である文字列ビルダーを構築します。StringBuilder(int capacity) 文字を持たず、capacity引数によって指定された初期容量の文字列ビルダーを構築します。指定されたCharSequence引数と同じ文字を含む文字列ビルダーを構築します。StringBuilder(String str) 指定された文字列の内容に初期化された文字列ビルダーを構築します。 -
メソッドのサマリー
修飾子と型メソッド説明append(boolean b) boolean引数の文字列表現をシーケンスに追 します。append(char c) char引数の文字列表現をこのシーケンスに追 します。append(char[] str) char配列引数の文字列表現をこのシーケンスに追 します。append(char[] str, int offset, int len) char配列引数の部分配列の文字列表現を、このシーケンスに追 します。append(double d) double引数の文字列表現をこのシーケンスに追 します。append(float f) float引数の文字列表現をこのシーケンスに追 します。append(int i) int引数の文字列表現をこのシーケンスに追 します。append(long lng) long引数の文字列表現をこのシーケンスに追 します。指定した文字シーケンスをこのAppendableに追 します。append(CharSequence s, int start, int end) 指定されたCharSequenceのサブシーケンスをこのシーケンスに追 します。Object引数の文字列表現を追 します。指定された文字列をこの文字シーケンスに追 します。append(StringBuffer sb) 指定されたStringBufferをこのシーケンスに追 します。appendCodePoint(int codePoint) codePoint引数の文字列表現をこのシーケンスに追 します。intcapacity()現在の容量を返します。charcharAt(int index) このシーケンス内の指定されたインデックスのchar値を返します。chars()このシーケンスのchar値をゼロ拡張したintを含むストリー を返します。intcodePointAt(int index) 指定されたインデックス位置の文字(Unicodeコード・ポイント)を返します。intcodePointBefore(int index) 指定されたインデックスの前の文字(Unicodeコード・ポイント)を返します。intcodePointCount(int beginIndex, int endIndex) このシーケンスの指定されたテキスト範囲に含まれるUnicodeコード・ポイントの数を返します。このシーケンスからコード・ポイント値のストリー を返します。intcompareTo(StringBuilder another) 2つのStringBuilderインスタンスを辞書的に比較します。delete(int start, int end) このシーケンスの部分文字列内の文字を削除します。deleteCharAt(int index) このシーケンス内の指定された位置にあるcharを削除します。voidensureCapacity(int minimumCapacity) 容量が必ず指定された最小値以上になるようにします。voidgetChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) このシーケンスからコピー先の文字配列dstに文字がコピーされます。intこの文字列内で、指定された部分文字列が最初に出現する位置のインデックスを返します。int指定されたインデックス以降で、指定された部分文字列がこの文字列内で最初に出現する位置のインデックスを返します。insert(int offset, boolean b) boolean引数の文字列表現をこのシーケンスに挿入します。insert(int offset, char c) char引数の文字列表現をこのシーケンスに挿入します。insert(int offset, char[] str) char配列引数の文字列表現をこのシーケンスに挿入します。insert(int index, char[] str, int offset, int len) str配列引数の部分配列の文字列表現を、このシーケンスに挿入します。insert(int offset, double d) double引数の文字列表現をこのシーケンスに挿入します。insert(int offset, float f) float引数の文字列表現をこのシーケンスに挿入します。insert(int offset, int i) 2番目のint引数の文字列表現をこのシーケンスに挿入します。insert(int offset, long l) long引数の文字列表現をこのシーケンスに挿入します。insert(int dstOffset, CharSequence s) 指定されたCharSequenceをこのシーケンスに挿入します。insert(int dstOffset, CharSequence s, int start, int end) 指定されたCharSequenceのサブシーケンスをこのシーケンスに挿入します。Object引数の文字列表現をこの文字シーケンスに挿入します。文字列をこの文字シーケンスに挿入します。intlastIndexOf(String str) この文字列内で、指定された部分文字列が最後に出現する位置のインデックスを返します。intlastIndexOf(String str, int fromIndex) この文字列内で、指定された部分文字列が最後に出現する位置のインデックスを返します(検索は指定されたインデックスから開始され、先 方向に行われる)。intlength()長さ(文字数)を返します。intoffsetByCodePoints(int index, int codePointOffset) このシーケンス内で、指定されたindexからcodePointOffsetコード・ポイント分 けオフセットされた位置のインデックスを返します。repeat(int codePoint, int count) codePoint引数の文字列表現のcountコピーをこの 序に繰り返します。repeat(CharSequence cs, int count) 指定したCharSequencecsのcountコピーをこの 序に追 します。このシーケンスの部分文字列内の文字を、指定されたString内の文字で置き換えます。reverse()この文字シーケンスを、シーケンスの 序を逆にしたもので置き換えます。voidsetCharAt(int index, char ch) 指定されたインデックスの文字がchに設定されます。voidsetLength(int newLength) 文字シーケンスの長さを設定します。subSequence(int start, int end) このシーケンスのサブシーケンスである新規文字シーケンスを返します。substring(int start) この文字シーケンスに現在含まれている文字の部分シーケンスを含む新しいStringを返します。substring(int start, int end) このシーケンスに現在含まれている文字の部分シーケンスを含む新しいStringを返します。toString()このシーケンス内のデータを表す文字列を返します。voidこの文字シーケンスで使用されているストレージの低減を試みます。クラスjava.lang.Objectで宣言されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitインタフェースjava.lang.CharSequenceで宣言されたメソッド
charAt, chars, codePoints, isEmpty, length, subSequence
-
コンストラクタの詳細
-
StringBuilder
public StringBuilder()文字を持たず、初期容量が16文字である文字列ビルダーを構築します。 -
StringBuilder
public StringBuilder(int capacity) 文字を持たず、capacity引数によって指定された初期容量の文字列ビルダーを構築します。- パラメータ:
capacity- 初期容量。- スロー:
NegativeArraySizeException-capacity引数が0未満の 合。
-
StringBuilder
public StringBuilder(String str) 指定された文字列の内容に初期化された文字列ビルダーを構築します。 文字列ビルダーの初期容量は、16に文字列引数の長さを えたものです。- パラメータ:
str- バッファの初期内容。
-
StringBuilder
public StringBuilder(CharSequence seq) 指定されたCharSequence引数と同じ文字を含む文字列ビルダーを構築します。 文字列ビルダーの初期容量は、16にCharSequence引数の長さを えたものです。- パラメータ:
seq- コピー対象のシーケンス。
-
-
メソッドの詳細
-
compareTo
public int compareTo(StringBuilder another) 2つのStringBuilderインスタンスを辞書的に比較します。 このメソッドは、CharSequence.compare(this, another)メソッドで定義されている辞書式比較の 合と同じルールに従います。詳細なロケールに依存した文字列の比較は、
Collatorを参照してく さい。- 定義:
- インタフェース
Comparable<StringBuilder>内のcompareTo - パラメータ:
another- 比較対象となるStringBuilder- 戻り値:
- この
StringBuilderの文字シーケンスが引数StringBuilderのシーケンスと同じならば値0; このStringBuilderがStringBuilder引数より辞書的に小さい 合は の整数; このStringBuilderがStringBuilder引数より辞書的に大きい 合は、正の整数。 - 導入されたバージョン:
- 11
-
append
public StringBuilder append(Object obj) Object引数の文字列表現を追 します。最終的には、
String.valueOf(Object)メソッドによって引数が文字列に変換されてから、その文字列の文字がこの文字シーケンスに追された 合とまったく同じ結果になります。- パラメータ:
obj-Object。- 戻り値:
- このオブジェクトへの参照。
-
append
public StringBuilder append(String str) 指定された文字列をこの文字シーケンスに追 します。String引数の文字は、 番に追 され、引数の長さの分 けこのシーケンスの長さが増えます。strがnullの 合は、"null"という4文字が追 されます。appendメソッドの実行直前に、この文字シーケンスの長さがnであったとします。 このとき、新しい文字シーケンス内のインデックスkの文字は、kがnより小さい 合は以前の文字シーケンス内のインデックスkの文字と等しくなり、それ以外の 合は引数str内のインデックスk-nの文字と等しくなります。- パラメータ:
str- 文字列。- 戻り値:
- このオブジェクトへの参照。
-
append
public StringBuilder append(StringBuffer sb) 指定されたStringBufferをこのシーケンスに追 します。StringBuffer引数の文字がこのシーケンスに 番に追 され、引数の長さの分 けこのシーケンスの長さが増えます。sbがnullの 合は、このシーケンスに"null"という4文字が追 されます。appendメソッドの実行直前に、この文字シーケンスの長さがnであったとします。 このとき、新しい文字シーケンス内のインデックスkの文字は、kがnより小さい 合は以前の文字シーケンス内のインデックスkの文字と等しくなり、それ以外の 合は引数sb内のインデックスk-nの文字と等しくなります。- パラメータ:
sb- 追 するStringBuffer。- 戻り値:
- このオブジェクトへの参照。
-
append
public StringBuilder append(CharSequence s) インタフェースからコピーされた説明:Appendable指定した文字シーケンスをこのAppendableに追 します。文字シーケンス
csqを実装するクラスによっては、シーケンス全体を追 できない 合があります。 たとえば、csqがCharBufferの 合、追 する部分列はバッファの位置と制限によって定義されます。この
Appendableの内容は、メソッド呼出し中にCharSequenceが変更された 合、またはCharSequenceへのアクセス時に例外がスローされた 合には指定されません。- 定義:
append、インタフェースAppendable- パラメータ:
s- 追 する文字シーケンス。csqがnullの 合、この追 可能には4文字の"null"が追 されます。- 戻り値:
- この
Appendableへの参照
-
append
public StringBuilder 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文字を含むシーケンスであるかのように、文字を追 します。CharSequenceがメソッド呼出し中に変更された 合、またはCharSequenceへのアクセス時に例外がスローされた 合、内容は指定されません。- 定義:
append、インタフェースAppendable- パラメータ:
s- 追 されるシーケンス。start- 追 される部分シーケンスの開始インデックス。end- 追 される部分シーケンスの終了インデックス。- 戻り値:
- このオブジェクトへの参照。
- スロー:
IndexOutOfBoundsException-startが の値の 合、startがendより大きい 合、またはendがs.length()より大きい 合
-
append
public StringBuilder append(char[] str) char配列引数の文字列表現をこのシーケンスに追 します。配列引数の文字がこのシーケンスの内容に 番に追 されます。 このシーケンスの長さは、引数の長さの分 け増えます。
最終的には、
String.valueOf(char[])メソッドによって引数が文字列に変換されてから、その文字列の文字がこの文字シーケンスに追された 合とまったく同じ結果になります。- パラメータ:
str- 追 される文字。- 戻り値:
- このオブジェクトへの参照。
-
append
public StringBuilder 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の 合
-
append
public StringBuilder append(boolean b) boolean引数の文字列表現をシーケンスに追 します。最終的には、
String.valueOf(boolean)メソッドによって引数が文字列に変換されてから、その文字列の文字がこの文字シーケンスに追された 合とまったく同じ結果になります。- パラメータ:
b-boolean。- 戻り値:
- このオブジェクトへの参照。
-
append
public StringBuilder append(char c) char引数の文字列表現をこのシーケンスに追 します。引数がこのシーケンスの内容に追 されます。 このシーケンスの長さは
1け増えます。最終的には、
String.valueOf(char)メソッドによって引数が文字列に変換されてから、その文字列の文字がこの文字シーケンスに追された 合とまったく同じ結果になります。- 定義:
append、インタフェースAppendable- パラメータ:
c-char。- 戻り値:
- このオブジェクトへの参照。
-
append
public StringBuilder append(int i) int引数の文字列表現をこのシーケンスに追 します。最終的には、
String.valueOf(int)メソッドによって引数が文字列に変換されてから、その文字列の文字がこの文字シーケンスに追された 合とまったく同じ結果になります。- パラメータ:
i-int。- 戻り値:
- このオブジェクトへの参照。
-
append
public StringBuilder append(long lng) long引数の文字列表現をこのシーケンスに追 します。最終的には、
String.valueOf(long)メソッドによって引数が文字列に変換されてから、その文字列の文字がこの文字シーケンスに追された 合とまったく同じ結果になります。- パラメータ:
lng-long。- 戻り値:
- このオブジェクトへの参照。
-
append
public StringBuilder append(float f) float引数の文字列表現をこのシーケンスに追 します。最終的には、
String.valueOf(float)メソッドによって引数が文字列に変換されてから、その文字列の文字がこの文字シーケンスに追された 合とまったく同じ結果になります。- パラメータ:
f-float。- 戻り値:
- このオブジェクトへの参照。
-
append
public StringBuilder append(double d) double引数の文字列表現をこのシーケンスに追 します。最終的には、
String.valueOf(double)メソッドによって引数が文字列に変換されてから、その文字列の文字がこの文字シーケンスに追された 合とまったく同じ結果になります。- パラメータ:
d-double。- 戻り値:
- このオブジェクトへの参照。
-
appendCodePoint
public StringBuilder appendCodePoint(int codePoint) codePoint引数の文字列表現をこのシーケンスに追 します。引数がこのシーケンスの内容に追 されます。 このシーケンスの長さは
Character.charCount(codePoint)け増えます。最終的には、
Character.toChars(int)メソッドによって引数がchar配列に変換されてから、その配列の文字がこの文字シーケンスに追された 合とまったく同じ結果になります。- パラメータ:
codePoint- Unicodeコード・ポイント- 戻り値:
- このオブジェクトへの参照。
- 導入されたバージョン:
- 1.5
-
delete
public StringBuilder delete(int start, int end) このシーケンスの部分文字列内の文字を削除します。 部分文字列は、指定されたstartから始まり、インデックスend - 1の文字までになりますが、そのような文字が存在しない 合はシーケンスの末尾までになります。startがendに等しい 合、変更は一切行われません。- パラメータ:
start- 開始インデックス(この値を含む)。end- 終了インデックス(この値を含まない)。- 戻り値:
- このオブジェクト。
- スロー:
StringIndexOutOfBoundsException-startが の値の 合、length()より大きい 合、あるいはendより大きい 合。
-
deleteCharAt
public StringBuilder deleteCharAt(int index) このシーケンス内の指定された位置にあるcharを削除します。 このシーケンスは1char分 け短くなります。ノート: 指定されたインデックスの文字が補助文字であっても、このメソッドはその文字全体を削除しません。 補助文字の処理を正しく行う必要がある 合は、
Character.charCount(thisSequence.codePointAt(index))(thisSequenceはこのシーケンス)を呼び出して、削除されるcharの数を確認します。- パラメータ:
index- 削除されるcharのインデックス- 戻り値:
- このオブジェクト。
- スロー:
StringIndexOutOfBoundsException-indexが の値の 合、あるいはlength()に等しいかこれより大きい 合。
-
replace
public StringBuilder replace(int start, int end, String str) このシーケンスの部分文字列内の文字を、指定されたString内の文字で置き換えます。 部分文字列は、指定されたstartから始まり、インデックスend - 1の文字までになりますが、そのような文字が存在しない 合はシーケンスの末尾までになります。 まず、部分文字列内の文字が削除され、続いて、指定されたStringがstartの位置に挿入されます。 (必要であれば、指定されたStringに合わせてこのシーケンスの長さが調整されます。)- パラメータ:
start- 開始インデックス(この値を含む)。end- 終了インデックス(この値を含まない)。str- 以前の内容を置換するString。- 戻り値:
- このオブジェクト。
- スロー:
StringIndexOutOfBoundsException-startが の値の 合、length()より大きい 合、あるいはendより大きい 合。
-
insert
public StringBuilder insert(int index, char[] str, int offset, int len) str配列引数の部分配列の文字列表現を、このシーケンスに挿入します。 部分配列は、指定されたoffsetからlenchar個分になります。 このシーケンス内のindexで示される位置に部分配列の文字が挿入されます。 このシーケンスの長さは、len個のchar分 け増えます。- パラメータ:
index- 部分配列を挿入する位置。str-char配列。offset- 挿入される部分配列の最初のcharのインデックス。len- 挿入される部分配列のchar数。- 戻り値:
- このオブジェクト
- スロー:
StringIndexOutOfBoundsException-indexが の値であるかlength()より大きい 合、offsetまたはlenが の値の 合、あるいは(offset+len)がstr.lengthより大きい 合。
-
insert
public StringBuilder insert(int offset, Object obj) Object引数の文字列表現をこの文字シーケンスに挿入します。最終的には、
String.valueOf(Object)メソッドによって2番目の引数が文字列に変換されてから、その文字列の文字がこの文字シーケンス内の指定されたオフセット位置に挿入された 合とまったく同じ結果になります。offset引数は0に等しいかそれより大きく、このシーケンスの長さに等しいかこれより小さくなければなりません。- パラメータ:
offset- オフセット。obj-Object。- 戻り値:
- このオブジェクトへの参照。
- スロー:
StringIndexOutOfBoundsException- オフセットが無効な 合。
-
insert
public StringBuilder insert(int offset, String str) 文字列をこの文字シーケンスに挿入します。このシーケンスの指定されたオフセット位置に
String引数の文字が 番に挿入され、その位置にもともとあった文字はすべて上方に移動され、このシーケンスの長さが引数の長さ分 け増 します。strがnullの 合は、"null"という4文字がこのシーケンスに挿入されます。新しい文字列のインデックスkの位置にある文字は、次の文字に等しくなります。
- kが
offsetより小さい 合は、以前の文字シーケンス内のインデックスkの位置にある文字 - kが
offsetより小さくはないが、offset+str.length()より小さい 合は、引数str内のインデックスk-offsetの位置にある文字 - kが
offset+str.length()より小さくない 合は、以前の文字シーケンス内のインデックスk-str.length()の位置にある文字
offset引数は0に等しいかそれより大きく、このシーケンスの長さに等しいかこれより小さくなければなりません。- パラメータ:
offset- オフセット。str- 文字列。- 戻り値:
- このオブジェクトへの参照。
- スロー:
StringIndexOutOfBoundsException- オフセットが無効な 合。
- kが
-
insert
public StringBuilder insert(int offset, char[] str) char配列引数の文字列表現をこのシーケンスに挿入します。このシーケンスの内容の
offsetで示された位置に、配列引数の文字が挿入されます。 このシーケンスの長さは、引数の長さの分 け増えます。最終的には、
String.valueOf(char[])メソッドによって2番目の引数が文字列に変換されてから、その文字列の文字がこの文字シーケンス内の指定されたオフセット位置に挿入された 合とまったく同じ結果になります。offset引数は0に等しいかそれより大きく、このシーケンスの長さに等しいかこれより小さくなければなりません。- パラメータ:
offset- オフセット。str- 文字配列。- 戻り値:
- このオブジェクトへの参照。
- スロー:
StringIndexOutOfBoundsException- オフセットが無効な 合。
-
insert
public StringBuilder insert(int dstOffset, CharSequence s) 指定されたCharSequenceをこのシーケンスに挿入します。このシーケンスの指定されたオフセット位置に
CharSequence引数の文字が 番に挿入され、その位置にもともとあった文字がすべて上方に移動され、このシーケンスの長さが引数sの長さ分 け増 します。このメソッドの結果は、このオブジェクトの
insert(dstOffset, s, 0, s.length())メソッドの呼び出しとまったく同じです。CharSequenceがメソッド呼出し中に変更された 合、またはCharSequenceへのアクセス時に例外がスローされた 合、内容は指定されません。sがnullの 合は、"null"という4文字がこのシーケンスに挿入されます。- パラメータ:
dstOffset- オフセット。s- 挿入されるシーケンス- 戻り値:
- このオブジェクトへの参照。
- スロー:
IndexOutOfBoundsException- オフセットが無効な 合。
-
insert
public StringBuilder insert(int dstOffset, CharSequence s, int start, int end) 指定されたCharSequenceのサブシーケンスをこのシーケンスに挿入します。startとendで指定される引数sの部分シーケンスが、このシーケンス内の指定された挿入先offsetに 番に挿入され、その位置にもともとあった文字はすべて上方に移動されます。 このシーケンスの長さはend - startけ増えます。このシーケンス内のインデックスkの位置にある文字は、次に等しくなります。
- kが
dstOffsetより小さい 合は、このシーケンス内のインデックスkの位置にある文字 - kが
dstOffsetに等しいかそれより大きく、dstOffset+end-startより小さい 合は、引数s内のインデックスk+start-dstOffsetの位置にある文字 - kが
dstOffset+end-startに等しいかそれより大きい 合は、このシーケンス内のインデックスk-(end-start)の位置にある文字
dstOffset引数は0に等しいかそれより大きく、このシーケンスの長さに等しいかこれより小さくなければなりません。start引数は でない値でなければならず、
endより大きくてはいけません。end引数は、
startに等しいかそれより大きく、sの長さに等しいかそれより小さくなければなりません。sがnullの 合、このメソッドはsパラメータが"null"という4文字を含むシーケンスであるかのように、文字を挿入します。CharSequenceがメソッド呼出し中に変更された 合、またはCharSequenceへのアクセス時に例外がスローされた 合、内容は指定されません。- パラメータ:
dstOffset- このシーケンス内のオフセット。s- 挿入されるシーケンス。start- 挿入される部分シーケンスの開始インデックス。end- 挿入される部分シーケンスの終了インデックス。- 戻り値:
- このオブジェクトへの参照。
- スロー:
IndexOutOfBoundsException-dstOffsetが の値であるかthis.length()より大きい 合、startまたはendが の値の 合、startがendより大きい 合、あるいはendがs.length()より大きい 合
- kが
-
insert
public StringBuilder insert(int offset, boolean b) boolean引数の文字列表現をこのシーケンスに挿入します。最終的には、
String.valueOf(boolean)メソッドによって2番目の引数が文字列に変換されてから、その文字列の文字がこの文字シーケンス内の指定されたオフセット位置に挿入された 合とまったく同じ結果になります。offset引数は0に等しいかそれより大きく、このシーケンスの長さに等しいかこれより小さくなければなりません。- パラメータ:
offset- オフセット。b-boolean。- 戻り値:
- このオブジェクトへの参照。
- スロー:
StringIndexOutOfBoundsException- オフセットが無効な 合。
-
insert
public StringBuilder insert(int offset, char c) char引数の文字列表現をこのシーケンスに挿入します。最終的には、
String.valueOf(char)メソッドによって2番目の引数が文字列に変換されてから、その文字列の文字がこの文字シーケンス内の指定されたインデックス位置に挿入された 合とまったく同じ結果になります。offset引数は0に等しいかそれより大きく、このシーケンスの長さに等しいかこれより小さくなければなりません。- パラメータ:
offset- オフセット。c-char。- 戻り値:
- このオブジェクトへの参照。
- スロー:
IndexOutOfBoundsException- オフセットが無効な 合。
-
insert
public StringBuilder insert(int offset, int i) 2番目のint引数の文字列表現をこのシーケンスに挿入します。最終的には、
String.valueOf(int)メソッドによって2番目の引数が文字列に変換されてから、その文字列の文字がこの文字シーケンス内の指定されたオフセット位置に挿入された 合とまったく同じ結果になります。offset引数は0に等しいかそれより大きく、このシーケンスの長さに等しいかこれより小さくなければなりません。- パラメータ:
offset- オフセット。i-int。- 戻り値:
- このオブジェクトへの参照。
- スロー:
StringIndexOutOfBoundsException- オフセットが無効な 合。
-
insert
public StringBuilder insert(int offset, long l) long引数の文字列表現をこのシーケンスに挿入します。最終的には、
String.valueOf(long)メソッドによって2番目の引数が文字列に変換されてから、その文字列の文字がこの文字シーケンス内の指定されたオフセット位置に挿入された 合とまったく同じ結果になります。offset引数は0に等しいかそれより大きく、このシーケンスの長さに等しいかこれより小さくなければなりません。- パラメータ:
offset- オフセット。l-long。- 戻り値:
- このオブジェクトへの参照。
- スロー:
StringIndexOutOfBoundsException- オフセットが無効な 合。
-
insert
public StringBuilder insert(int offset, float f) float引数の文字列表現をこのシーケンスに挿入します。最終的には、
String.valueOf(float)メソッドによって2番目の引数が文字列に変換されてから、その文字列の文字がこの文字シーケンス内の指定されたオフセット位置に挿入された 合とまったく同じ結果になります。offset引数は0に等しいかそれより大きく、このシーケンスの長さに等しいかこれより小さくなければなりません。- パラメータ:
offset- オフセット。f-float。- 戻り値:
- このオブジェクトへの参照。
- スロー:
StringIndexOutOfBoundsException- オフセットが無効な 合。
-
insert
public StringBuilder insert(int offset, double d) double引数の文字列表現をこのシーケンスに挿入します。最終的には、
String.valueOf(double)メソッドによって2番目の引数が文字列に変換されてから、その文字列の文字がこの文字シーケンス内の指定されたオフセット位置に挿入された 合とまったく同じ結果になります。offset引数は0に等しいかそれより大きく、このシーケンスの長さに等しいかこれより小さくなければなりません。- パラメータ:
offset- オフセット。d-double。- 戻り値:
- このオブジェクトへの参照。
- スロー:
StringIndexOutOfBoundsException- オフセットが無効な 合。
-
indexOf
public int indexOf(String str) この文字列内で、指定された部分文字列が最初に出現する位置のインデックスを返します。返される索引は、次の最小値
kです:
そのようなthis.toString().startsWith(str, k)kの値が存在しない 合、-1が返されます。- パラメータ:
str- 検索対象の部分文字列。- 戻り値:
- 指定された部分文字列が最初に出現する位置のインデックス。そのような出現箇所がない 合は
-1。
-
indexOf
public int indexOf(String str, int fromIndex) 指定されたインデックス以降で、指定された部分文字列がこの文字列内で最初に出現する位置のインデックスを返します。返される索引は、次の最小値
kです:
そのようなk >= Math.min(fromIndex, this.length()) && this.toString().startsWith(str, k)kの値が存在しない 合、-1が返されます。- パラメータ:
str- 検索対象の部分文字列。fromIndex-検索開始位置のインデックス。- 戻り値:
- 指定されたインデックス以降で、指定された部分文字列が最初に出現する位置のインデックス。そのような出現箇所がない 合は
-1。
-
lastIndexOf
public int lastIndexOf(String str) この文字列内で、指定された部分文字列が最後に出現する位置のインデックスを返します。 空の文字列「」が最後に出現する位置は、this.length()と見なされます。返される索引は、次の最大値
kです:
そのようなthis.toString().startsWith(str, k)kの値が存在しない 合、-1が返されます。- パラメータ:
str- 検索対象の部分文字列。- 戻り値:
- 指定された部分文字列が最後に出現する位置のインデックス。そのような出現箇所がない 合は
-1。
-
lastIndexOf
public int lastIndexOf(String str, int fromIndex) この文字列内で、指定された部分文字列が最後に出現する位置のインデックスを返します(検索は指定されたインデックスから開始され、先 方向に行われる)。返される索引は、次の最大値
kです:
そのようなk <= Math.min(fromIndex, this.length()) && this.toString().startsWith(str, k)kの値が存在しない 合、-1が返されます。- パラメータ:
str- 検索対象の部分文字列。fromIndex- 検索開始位置のインデックス。- 戻り値:
- 指定された部分文字列が最後に出現する位置のインデックス(指定されたインデックスから逆方向に検索を行う)。そのような出現箇所がない 合は
-1。
-
reverse
public StringBuilder reverse()この文字シーケンスを、シーケンスの 序を逆にしたもので置き換えます。 シーケンスにサロゲート・ペアが含まれている 合、それらは反転操作時に単一の文字として扱われます。 したがって、サロゲートの上位-下位の 番が反転することは決してありません。reverseメソッドの実行直前に、この文字シーケンスの文字長(char値での長さではない)がnであったとします。 このとき、新しい文字シーケンス内のインデックスkの文字は、以前の文字シーケンス内のインデックスn-k-1の文字と等しくなります。反転操作を行うと、操作前にはペアになっていなかった下位サロゲートと上位サロゲートからサロゲート・ペアが生成される可能性があります。 たとえば、「\uDC00\uD800」を反転すると「\uD800\uDC00」が生成されますが、これは有効なサロゲート・ペアです。
- 戻り値:
- このオブジェクトへの参照。
-
repeat
public StringBuilder repeat(int codePoint, int count) codePoint引数の文字列表現のcountコピーをこの 序に繰り返します。この 序の長さは、
countに文字列表現の長さを乗算して増 します。通常は、コード・ポイントに
char式を使用します。 たとえば、// insert 10 asterisks into the buffer sb.repeat('*', 10);- パラメータ:
codePoint- 追 するコード・ポイントcount- コピーする回数- 戻り値:
- このオブジェクトへの参照。
- スロー:
IllegalArgumentException- 指定したcodePointが有効なUnicodeコード・ポイントでない 合、またはcountが の 合。- 導入されたバージョン:
- 21
-
repeat
public StringBuilder repeat(CharSequence cs, int count) 指定したCharSequencecsのcountコピーをこの 序に追 します。この 序の長さは、
countにCharSequenceの長さを乗算して増 します。csがnullの 合、4文字の"null"がこのシーケンスに繰り返されます。CharSequenceがメソッド呼出し中に変更された 合、またはCharSequenceへのアクセス時に例外がスローされた 合、内容は指定されません。- パラメータ:
cs-CharSequencecount- コピーする回数- 戻り値:
- このオブジェクトへの参照。
- スロー:
IllegalArgumentException-countが である 合- 導入されたバージョン:
- 21
-
toString
public String toString()このシーケンス内のデータを表す文字列を返します。 新しいStringオブジェクトが割り当てられ、現在このオブジェクトで表されている文字シーケンスを含むように初期化されます。 その後、このStringが返されます。 その後このシーケンスが変更されても、Stringの内容には影響ありません。- 定義:
toString、インタフェースCharSequence- 戻り値:
- この文字シーケンスの文字列表現。
-
length
-
capacity
public int capacity()現在の容量を返します。 容量とは、(すでに書き込まれた文字を含む)を保存できる文字数で、この値を超えると割当てが行われます。- 戻り値:
- 現在の容量
-
ensureCapacity
public void ensureCapacity(int minimumCapacity) 容量が必ず指定された最小値以上になるようにします。 現在の容量が引数より小さい 合、より多くの容量を持つ新しい内部配列が割り当てられます。 新しい容量は、次の大きいほうになります。minimumCapacity引数。- 以前の容量の2倍の量に
2を えた値。
minimumCapacity引数が正の値でない 合、このメソッドは何も行わずに復帰します。 このオブジェクトに対する後続の操作によって実際の容量がここで要求された量を下回る可能性があることに注意してく さい。- パラメータ:
minimumCapacity保証したい最小容量。
-
trimToSize
public void trimToSize()この文字シーケンスで使用されているストレージの低減を試みます。 バッファが現在の文字シーケンスを保持するのに必要なサイズよりも大きい 合、そのサイズを変更して容量効率を高めることができます。 このメソッドを呼び出すと、あとでcapacity()メソッドを呼び出した際に返される値に影響する可能性がありますが、必ずそうとはかぎりません。 -
setLength
public void setLength(int newLength) 文字シーケンスの長さを設定します。 このシーケンスが、引数で指定された長さの新しい文字シーケンスに変更されます。newLength未満の 以外のすべてのインデックスkについて、kが古い文字シーケンスの長さ未満である 合、新しい文字シーケンス内のインデックスkの文字は、古いシーケンス内のインデックスkの文字と同じになります。それ以外の 合は、null文字'\u0000'になります。 つまり、newLength引数が現在の長さ未満である 合、その長さが指定された長さに変更されます。newLength引数が現在の長さと等しいかそれより大きい 合は、長さがnewLength引数になるように、十分な数のnull文字('\u0000')が追 されます。newLength引数は0以上でなければなりません。- パラメータ:
newLength- 新しい長さ- スロー:
IndexOutOfBoundsException-newLength引数が の 合。
-
charAt
public char charAt(int index) このシーケンス内の指定されたインデックスのchar値を返します。 配列のインデックスと同様に、最初のchar値の位置がインデックス0、次の文字の位置が1、といった具合になります。index引数は、
0以上で、このシーケンスの長さより小さくなければなりません。インデックスで指定された
char値がサロゲートの 合、サロゲート値が返されます。- 定義:
charAt、インタフェースCharSequence- パラメータ:
index- 目的のchar値のインデックス。- 戻り値:
- 指定されたインデックスの
char値。 - スロー:
IndexOutOfBoundsException-indexが の値の 合、あるいはlength()に等しいかこれより大きい 合。
-
codePointAt
public int codePointAt(int index) 指定されたインデックス位置の文字(Unicodeコード・ポイント)を返します。 索引は、char値(Unicodeコード単位)およびその範囲を0からCharSequence.length()- 1に参照します。指定されたインデックスで指定された
char値が上位サロゲート範囲にあり、それに続くインデックスがこのシーケンスの長さ未満で、以降のインデックスのchar値が下位サロゲート範囲にある 合、このサロゲート・ペアに対応する補助コード・ポイントが返されます。 それ以外の 合は、指定されたインデックスにあるchar値が返されます。- パラメータ:
index-char値へのインデックス- 戻り値:
- 指定された
indexにある文字のコード・ポイント値 - スロー:
IndexOutOfBoundsException-index引数が の値、またはこのシーケンスの長さと同じかこれより大きい値の 合。
-
codePointBefore
public int codePointBefore(int index) 指定されたインデックスの前の文字(Unicodeコード・ポイント)を返します。 この索引は、char値(Unicodeコード単位)を参照し、1からCharSequence.length()までの範囲を参照します。(index - 1)のchar値が下位サロゲート範囲に含まれており、(index - 2)が でなく、かつ(index - 2)のchar値が上位サロゲートに含まれている 合、そのサロゲート・ペアの補助コード・ポイント値が返されます。index - 1のchar値が、ペアになっていない下位サロゲートであるか、または上位サロゲートである 合、そのサロゲート値が返されます。- パラメータ:
index- 返すべきコード・ポイントの直後のインデックス- 戻り値:
- 指定されたインデックスの前にあるUnicodeコード・ポイント値。
- スロー:
IndexOutOfBoundsException-index引数が1未満であるか、またはこのシーケンスの長さより大きい値の 合。
-
codePointCount
public int codePointCount(int beginIndex, int endIndex) このシーケンスの指定されたテキスト範囲に含まれるUnicodeコード・ポイントの数を返します。 テキスト範囲は、指定されたbeginIndexからインデックスendIndex - 1の位置のcharまでです。 したがって、テキスト範囲の長さ(char数)は、endIndex-beginIndexになります。 このシーケンス内でペアになっていないサロゲートは、それぞれ1つのコード・ポイントとして数えられます。- パラメータ:
beginIndex- テキスト範囲内の最初のcharへのインデックス。endIndex- テキスト範囲内の最後のcharの直後のインデックス。- 戻り値:
- 指定されたテキスト範囲内のUnicodeコード・ポイントの数
- スロー:
IndexOutOfBoundsException-beginIndexが であるか、endIndexがこのシーケンスの長さより大きいか、あるいはbeginIndexがendIndexより大きい 合。
-
offsetByCodePoints
public int offsetByCodePoints(int index, int codePointOffset) このシーケンス内で、指定されたindexからcodePointOffsetコード・ポイント分 けオフセットされた位置のインデックスを返します。indexとcodePointOffsetで指定されるテキスト範囲内でペアになっていないサロゲートは、それぞれ1つのコード・ポイントとして数えられます。- パラメータ:
index- オフセットされるインデックスcodePointOffset- オフセット(コード・ポイント数)- 戻り値:
- このシーケンス内でのインデックス
- スロー:
IndexOutOfBoundsException-indexがこのシーケンスの長さよりも または大きい 合、またはcodePointOffsetが正で、indexで始まるサブ・シーケンスがcodePointOffsetコード・ポイントより少ない 合、またはcodePointOffsetが でindexより前のサブ・シーケンスがcodePointOffsetコード・ポイントの絶対値より少ない 合。
-
getChars
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へのオフセット。- スロー:
IndexOutOfBoundsException- 次のどれかに当てはまる 合。srcBeginが であるdstBeginが であるsrcBegin引数がsrcEnd引数より大きいsrcEndがthis.length()より大きいdstBegin+srcEnd-srcBeginがdst.lengthより大きい
-
setCharAt
public void setCharAt(int index, char ch) 指定されたインデックスの文字がchに設定されます。 このシーケンスは、位置indexの文字がchである点を除き、以前の文字シーケンスと同一であるような、新しい文字シーケンスを表現するように変更されます。index引数は、
0以上で、このシーケンスの長さより小さくなければなりません。- パラメータ:
index- 変更対象の文字のインデックス。ch- 新しい文字。- スロー:
IndexOutOfBoundsException-indexが の値の 合、あるいはlength()に等しいかこれより大きい 合。
-
substring
public String substring(int start) この文字シーケンスに現在含まれている文字の部分シーケンスを含む新しいStringを返します。 部分文字列は指定されたインデックスで始まり、このシーケンスの末尾までになります。- パラメータ:
start- 開始インデックス(この値を含む)。- 戻り値:
- 新しい文字列。
- スロー:
StringIndexOutOfBoundsException-startが0より小さい 合、あるいはこのオブジェクトの長さより大きい 合。
-
subSequence
public CharSequence subSequence(int start, int end) このシーケンスのサブシーケンスである新規文字シーケンスを返します。次のフォー のメソッド呼出しは、
次の呼び出しと正確に同じ動作になります。sb.subSequence(begin, end)
このメソッドが提供されているのは、このクラスがsb.substring(begin, end)CharSequenceインタフェースを実装できるようにするためです。- 定義:
subSequence、インタフェースCharSequence- パラメータ:
start- 開始インデックス(この値を含む)。end- 終了インデックス(この値を含まない)。- 戻り値:
- 指定されたサブシーケンス。
- スロー:
IndexOutOfBoundsException-startまたはendが の値の 合、endがlength()よりも大きい 合、あるいはstartがendよりも大きい 合
-
substring
public String substring(int start, int end) このシーケンスに現在含まれている文字の部分シーケンスを含む新しいStringを返します。 部分文字列は、指定されたstartから始まり、インデックスend - 1にある文字までです。- パラメータ:
start- 開始インデックス(この値を含む)。end- 終了インデックス(この値を含まない)。- 戻り値:
- 新しい文字列。
- スロー:
StringIndexOutOfBoundsException-startまたはendが の値であるかlength()より大きい 合、またはstartがendより大きい 合。
-
chars
public IntStream chars()このシーケンスのchar値をゼロ拡張したintを含むストリー を返します。 サロゲート・コード・ポイントにマップするすべてのcharは、解釈されずに渡されます。ストリー は、ターミナル・ストリー 操作が(特に、可変 序の 合、ストリー のスプリッタはlate-bindingです)で始まるときにこのシーケンスにバインドされます。 その操作中に 序が変更された 合、結果は未定義です。
- 定義:
chars、インタフェースCharSequence- 戻り値:
- このシーケンスのchar値のIntStream
- 導入されたバージョン:
- 9
-
codePoints
public IntStream codePoints()このシーケンスからコード・ポイント値のストリー を返します。 そのシーケンスで検出されるサロゲート・ペアがすべて、Character.toCodePointを使用した 合のように結合され、結果がストリー に渡されます。 他のすべてのコード(通常のBMP文字、ペアになっていないサロゲート、未定義のコード単位など)はint値にゼロ拡張されたあと、ストリー に渡されます。ストリー は、ターミナル・ストリー 操作が(特に、可変 序の 合、ストリー のスプリッタはlate-bindingです)で始まるときにこのシーケンスにバインドされます。 その操作中に 序が変更された 合、結果は未定義です。
- 定義:
- インタフェース
CharSequence内のcodePoints - 戻り値:
- このシーケンスからのUnicodeコード・ポイントのIntStream
- 導入されたバージョン:
- 9
-