- すべての実装されたインタフェース:
- 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引数の文字列表現をこのシーケンスに追加します。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コード・ポイント分だけオフセットされた位置のインデックスを返します。このシーケンスの部分文字列内の文字を、指定された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
- 
コンストラクタの詳細- 
StringBuilderpublic StringBuilder()文字を持たず、初期容量が16文字である文字列ビルダーを構築します。
- 
StringBuilderpublic StringBuilder(int capacity) 文字を持たず、capacity引数によって指定された初期容量の文字列ビルダーを構築します。- パラメータ:
- capacity- 初期容量。
- 例外:
- NegativeArraySizeException-- capacity引数が- 0未満の場合。
 
- 
StringBuilderpublic StringBuilder(String str) 指定された文字列の内容に初期化された文字列ビルダーを構築します。 文字列ビルダーの初期容量は、16に文字列引数の長さを加えたものです。- パラメータ:
- str- バッファの初期内容。
 
- 
StringBuilderpublic StringBuilder(CharSequence seq) 指定されたCharSequence引数と同じ文字を含む文字列ビルダーを構築します。 文字列ビルダーの初期容量は、16にCharSequence引数の長さを加えたものです。- パラメータ:
- seq- コピー対象のシーケンス。
 
 
- 
- 
メソッドの詳細- 
compareTopublic int compareTo(StringBuilder another) 2つのStringBuilderインスタンスを辞書的に比較します。 このメソッドは、CharSequence.compare(this, another)メソッドで定義されている辞書式比較の場合と同じルールに従います。詳細なロケールに依存した文字列の比較は、 Collatorを参照してください。- 定義:
- インタフェースComparable<StringBuilder>内のcompareTo
- パラメータ:
- another- 比較対象となる- StringBuilder
- 戻り値:
- このStringBuilderの文字シーケンスが引数StringBuilderのシーケンスと同じならば値0; このStringBuilderがStringBuilder引数より辞書的に小さい場合は負の整数; このStringBuilderがStringBuilder引数より辞書的に大きい場合は、正の整数。
- 導入されたバージョン:
- 11
 
- 
appendpublic StringBuilder append(Object obj) Object引数の文字列表現を追加します。最終的には、 String.valueOf(Object)メソッドによって引数が文字列に変換されてから、その文字列の文字がこの文字シーケンスに追加された場合とまったく同じ結果になります。- パラメータ:
- obj-- Object。
- 戻り値:
- このオブジェクトへの参照。
 
- 
appendpublic StringBuilder append(String str) 指定された文字列をこの文字シーケンスに追加します。String引数の文字は、順番に追加され、引数の長さの分だけこのシーケンスの長さが増えます。strがnullの場合は、"null"という4文字が追加されます。appendメソッドの実行直前に、この文字シーケンスの長さがnであったとします。 このとき、新しい文字シーケンス内のインデックスkの文字は、kがnより小さい場合は以前の文字シーケンス内のインデックスkの文字と等しくなり、それ以外の場合は引数str内のインデックスk-nの文字と等しくなります。- パラメータ:
- str- 文字列。
- 戻り値:
- このオブジェクトへの参照。
 
- 
appendpublic StringBuilder append(StringBuffer sb) 指定されたStringBufferをこのシーケンスに追加します。StringBuffer引数の文字がこのシーケンスに順番に追加され、引数の長さの分だけこのシーケンスの長さが増えます。sbがnullの場合は、このシーケンスに"null"という4文字が追加されます。appendメソッドの実行直前に、この文字シーケンスの長さがnであったとします。 このとき、新しい文字シーケンス内のインデックスkの文字は、kがnより小さい場合は以前の文字シーケンス内のインデックスkの文字と等しくなり、それ以外の場合は引数sb内のインデックスk-nの文字と等しくなります。- パラメータ:
- sb- 追加する- StringBuffer。
- 戻り値:
- このオブジェクトへの参照。
 
- 
appendpublic StringBuilder append(CharSequence s) インタフェースからコピーされた説明:Appendable- 定義:
- append、インタフェース- Appendable
- パラメータ:
- s- 追加する文字シーケンス。
- 戻り値:
 
- 
appendpublic 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文字を含むシーケンスであるかのように、文字を追加します。- 定義:
- append、インタフェース- Appendable
- パラメータ:
- s- 追加されるシーケンス。
- start- 追加される部分シーケンスの開始インデックス。
- end- 追加される部分シーケンスの終了インデックス。
- 戻り値:
- このオブジェクトへの参照。
- 例外:
- IndexOutOfBoundsException-- startが負の値の場合、- startが- endより大きい場合、または- endが- s.length()より大きい場合
 
- 
appendpublic StringBuilder append(char[] str) char配列引数の文字列表現をこのシーケンスに追加します。配列引数の文字がこのシーケンスの内容に順番に追加されます。 このシーケンスの長さは、引数の長さの分だけ増えます。 最終的には、 String.valueOf(char[])メソッドによって引数が文字列に変換されてから、その文字列の文字がこの文字シーケンスに追加された場合とまったく同じ結果になります。- パラメータ:
- str- 追加される文字。
- 戻り値:
- このオブジェクトへの参照。
 
- 
appendpublic 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の場合
 
- 
appendpublic StringBuilder append(boolean b) boolean引数の文字列表現をシーケンスに追加します。最終的には、 String.valueOf(boolean)メソッドによって引数が文字列に変換されてから、その文字列の文字がこの文字シーケンスに追加された場合とまったく同じ結果になります。- パラメータ:
- b-- boolean。
- 戻り値:
- このオブジェクトへの参照。
 
- 
appendpublic StringBuilder append(char c) char引数の文字列表現をこのシーケンスに追加します。引数がこのシーケンスの内容に追加されます。 このシーケンスの長さは 1だけ増えます。最終的には、 String.valueOf(char)メソッドによって引数が文字列に変換されてから、その文字列の文字がこの文字シーケンスに追加された場合とまったく同じ結果になります。- 定義:
- append、インタフェース- Appendable
- パラメータ:
- c-- char。
- 戻り値:
- このオブジェクトへの参照。
 
- 
appendpublic StringBuilder append(int i) int引数の文字列表現をこのシーケンスに追加します。最終的には、 String.valueOf(int)メソッドによって引数が文字列に変換されてから、その文字列の文字がこの文字シーケンスに追加された場合とまったく同じ結果になります。- パラメータ:
- i-- int。
- 戻り値:
- このオブジェクトへの参照。
 
- 
appendpublic StringBuilder append(long lng) long引数の文字列表現をこのシーケンスに追加します。最終的には、 String.valueOf(long)メソッドによって引数が文字列に変換されてから、その文字列の文字がこの文字シーケンスに追加された場合とまったく同じ結果になります。- パラメータ:
- lng-- long。
- 戻り値:
- このオブジェクトへの参照。
 
- 
appendpublic StringBuilder append(float f) float引数の文字列表現をこのシーケンスに追加します。最終的には、 String.valueOf(float)メソッドによって引数が文字列に変換されてから、その文字列の文字がこの文字シーケンスに追加された場合とまったく同じ結果になります。- パラメータ:
- f-- float。
- 戻り値:
- このオブジェクトへの参照。
 
- 
appendpublic StringBuilder append(double d) double引数の文字列表現をこのシーケンスに追加します。最終的には、 String.valueOf(double)メソッドによって引数が文字列に変換されてから、その文字列の文字がこの文字シーケンスに追加された場合とまったく同じ結果になります。- パラメータ:
- d-- double。
- 戻り値:
- このオブジェクトへの参照。
 
- 
appendCodePointpublic StringBuilder appendCodePoint(int codePoint) codePoint引数の文字列表現をこのシーケンスに追加します。引数がこのシーケンスの内容に追加されます。 このシーケンスの長さは Character.charCount(codePoint)だけ増えます。最終的には、 Character.toChars(int)メソッドによって引数がchar配列に変換されてから、その配列の文字がこの文字シーケンスに追加された場合とまったく同じ結果になります。- パラメータ:
- codePoint- Unicodeコード・ポイント
- 戻り値:
- このオブジェクトへの参照。
- 導入されたバージョン:
- 1.5
 
- 
deletepublic StringBuilder delete(int start, int end) このシーケンスの部分文字列内の文字を削除します。 部分文字列は、指定されたstartから始まり、インデックスend - 1の文字までになりますが、そのような文字が存在しない場合はシーケンスの末尾までになります。startがendに等しい場合、変更は一切行われません。- パラメータ:
- start- 開始インデックス(この値を含む)。
- end- 終了インデックス(この値を含まない)。
- 戻り値:
- このオブジェクト。
- 例外:
- StringIndexOutOfBoundsException-- startが負の値の場合、- length()より大きい場合、あるいは- endより大きい場合。
 
- 
deleteCharAtpublic StringBuilder deleteCharAt(int index) このシーケンス内の指定された位置にあるcharを削除します。 このシーケンスは1char分だけ短くなります。ノート: 指定されたインデックスの文字が補助文字であっても、このメソッドはその文字全体を削除しません。 補助文字の処理を正しく行う必要がある場合は、 Character.charCount(thisSequence.codePointAt(index))(thisSequenceはこのシーケンス)を呼び出して、削除されるcharの数を確認します。- パラメータ:
- index- 削除される- charのインデックス
- 戻り値:
- このオブジェクト。
- 例外:
- StringIndexOutOfBoundsException-- indexが負の値の場合、あるいは- length()に等しいかこれより大きい場合。
 
- 
replacepublic StringBuilder replace(int start, int end, String str) このシーケンスの部分文字列内の文字を、指定されたString内の文字で置き換えます。 部分文字列は、指定されたstartから始まり、インデックスend - 1の文字までになりますが、そのような文字が存在しない場合はシーケンスの末尾までになります。 まず、部分文字列内の文字が削除され、続いて、指定されたStringがstartの位置に挿入されます。 (必要であれば、指定されたStringに合わせてこのシーケンスの長さが調整されます。)- パラメータ:
- start- 開始インデックス(この値を含む)。
- end- 終了インデックス(この値を含まない)。
- str- 以前の内容を置換するString。
- 戻り値:
- このオブジェクト。
- 例外:
- StringIndexOutOfBoundsException-- startが負の値の場合、- length()より大きい場合、あるいは- endより大きい場合。
 
- 
insertpublic 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より大きい場合。
 
- 
insertpublic StringBuilder insert(int offset, Object obj) Object引数の文字列表現をこの文字シーケンスに挿入します。最終的には、 String.valueOf(Object)メソッドによって2番目の引数が文字列に変換されてから、その文字列の文字がこの文字シーケンス内の指定されたオフセット位置に挿入された場合とまったく同じ結果になります。offset引数は0に等しいかそれより大きく、このシーケンスの長さに等しいかこれより小さくなければなりません。- パラメータ:
- offset- オフセット。
- obj-- Object。
- 戻り値:
- このオブジェクトへの参照。
- 例外:
- StringIndexOutOfBoundsException- オフセットが無効な場合。
 
- 
insertpublic 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が
- 
insertpublic StringBuilder insert(int offset, char[] str) char配列引数の文字列表現をこのシーケンスに挿入します。このシーケンスの内容の offsetで示された位置に、配列引数の文字が挿入されます。 このシーケンスの長さは、引数の長さの分だけ増えます。最終的には、 String.valueOf(char[])メソッドによって2番目の引数が文字列に変換されてから、その文字列の文字がこの文字シーケンス内の指定されたオフセット位置に挿入された場合とまったく同じ結果になります。offset引数は0に等しいかそれより大きく、このシーケンスの長さに等しいかこれより小さくなければなりません。- パラメータ:
- offset- オフセット。
- str- 文字配列。
- 戻り値:
- このオブジェクトへの参照。
- 例外:
- StringIndexOutOfBoundsException- オフセットが無効な場合。
 
- 
insertpublic StringBuilder insert(int dstOffset, CharSequence s) 指定されたCharSequenceをこのシーケンスに挿入します。このシーケンスの指定されたオフセット位置に CharSequence引数の文字が順番に挿入され、その位置にもともとあった文字がすべて上方に移動され、このシーケンスの長さが引数sの長さ分だけ増加します。このメソッドの結果は、このオブジェクトの insert(dstOffset, s, 0, s.length())メソッドの呼び出しとまったく同じです。sがnullの場合は、"null"という4文字がこのシーケンスに挿入されます。- パラメータ:
- dstOffset- オフセット。
- s- 挿入されるシーケンス
- 戻り値:
- このオブジェクトへの参照。
- 例外:
- IndexOutOfBoundsException- オフセットが無効な場合。
 
- 
insertpublic 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文字を含むシーケンスであるかのように、文字を挿入します。- パラメータ:
- dstOffset- このシーケンス内のオフセット。
- s- 挿入されるシーケンス。
- start- 挿入される部分シーケンスの開始インデックス。
- end- 挿入される部分シーケンスの終了インデックス。
- 戻り値:
- このオブジェクトへの参照。
- 例外:
- IndexOutOfBoundsException-- dstOffsetが負の値であるか- this.length()より大きい場合、- startまたは- endが負の値の場合、- startが- endより大きい場合、あるいは- endが- s.length()より大きい場合
 
- kが
- 
insertpublic StringBuilder insert(int offset, boolean b) boolean引数の文字列表現をこのシーケンスに挿入します。最終的には、 String.valueOf(boolean)メソッドによって2番目の引数が文字列に変換されてから、その文字列の文字がこの文字シーケンス内の指定されたオフセット位置に挿入された場合とまったく同じ結果になります。offset引数は0に等しいかそれより大きく、このシーケンスの長さに等しいかこれより小さくなければなりません。- パラメータ:
- offset- オフセット。
- b-- boolean。
- 戻り値:
- このオブジェクトへの参照。
- 例外:
- StringIndexOutOfBoundsException- オフセットが無効な場合。
 
- 
insertpublic StringBuilder insert(int offset, char c) char引数の文字列表現をこのシーケンスに挿入します。最終的には、 String.valueOf(char)メソッドによって2番目の引数が文字列に変換されてから、その文字列の文字がこの文字シーケンス内の指定されたインデックス位置に挿入された場合とまったく同じ結果になります。offset引数は0に等しいかそれより大きく、このシーケンスの長さに等しいかこれより小さくなければなりません。- パラメータ:
- offset- オフセット。
- c-- char。
- 戻り値:
- このオブジェクトへの参照。
- 例外:
- IndexOutOfBoundsException- オフセットが無効な場合。
 
- 
insertpublic StringBuilder insert(int offset, int i) 2番目のint引数の文字列表現をこのシーケンスに挿入します。最終的には、 String.valueOf(int)メソッドによって2番目の引数が文字列に変換されてから、その文字列の文字がこの文字シーケンス内の指定されたオフセット位置に挿入された場合とまったく同じ結果になります。offset引数は0に等しいかそれより大きく、このシーケンスの長さに等しいかこれより小さくなければなりません。- パラメータ:
- offset- オフセット。
- i-- int。
- 戻り値:
- このオブジェクトへの参照。
- 例外:
- StringIndexOutOfBoundsException- オフセットが無効な場合。
 
- 
insertpublic StringBuilder insert(int offset, long l) long引数の文字列表現をこのシーケンスに挿入します。最終的には、 String.valueOf(long)メソッドによって2番目の引数が文字列に変換されてから、その文字列の文字がこの文字シーケンス内の指定されたオフセット位置に挿入された場合とまったく同じ結果になります。offset引数は0に等しいかそれより大きく、このシーケンスの長さに等しいかこれより小さくなければなりません。- パラメータ:
- offset- オフセット。
- l-- long。
- 戻り値:
- このオブジェクトへの参照。
- 例外:
- StringIndexOutOfBoundsException- オフセットが無効な場合。
 
- 
insertpublic StringBuilder insert(int offset, float f) float引数の文字列表現をこのシーケンスに挿入します。最終的には、 String.valueOf(float)メソッドによって2番目の引数が文字列に変換されてから、その文字列の文字がこの文字シーケンス内の指定されたオフセット位置に挿入された場合とまったく同じ結果になります。offset引数は0に等しいかそれより大きく、このシーケンスの長さに等しいかこれより小さくなければなりません。- パラメータ:
- offset- オフセット。
- f-- float。
- 戻り値:
- このオブジェクトへの参照。
- 例外:
- StringIndexOutOfBoundsException- オフセットが無効な場合。
 
- 
insertpublic StringBuilder insert(int offset, double d) double引数の文字列表現をこのシーケンスに挿入します。最終的には、 String.valueOf(double)メソッドによって2番目の引数が文字列に変換されてから、その文字列の文字がこの文字シーケンス内の指定されたオフセット位置に挿入された場合とまったく同じ結果になります。offset引数は0に等しいかそれより大きく、このシーケンスの長さに等しいかこれより小さくなければなりません。- パラメータ:
- offset- オフセット。
- d-- double。
- 戻り値:
- このオブジェクトへの参照。
- 例外:
- StringIndexOutOfBoundsException- オフセットが無効な場合。
 
- 
indexOfpublic int indexOf(String str) この文字列内で、指定された部分文字列が最初に出現する位置のインデックスを返します。this.toString().startsWith(str, k)- パラメータ:
- str- 検索対象の部分文字列。
- 戻り値:
- 指定された部分文字列が最初に出現する位置のインデックス。そのような出現箇所がない場合は-1。
 
- 
indexOfpublic int indexOf(String str, int fromIndex) 指定されたインデックス以降で、指定された部分文字列がこの文字列内で最初に出現する位置のインデックスを返します。k >= Math.min(fromIndex, this.length()) && this.toString().startsWith(str, k)- パラメータ:
- str- 検索対象の部分文字列。
- fromIndex-検索開始位置のインデックス。
- 戻り値:
- 指定されたインデックス以降で、指定された部分文字列が最初に出現する位置のインデックス。そのような出現箇所がない場合は-1。
 
- 
lastIndexOfpublic int lastIndexOf(String str) この文字列内で、指定された部分文字列が最後に出現する位置のインデックスを返します。 空の文字列「」が最後に出現する位置は、this.length()と見なされます。this.toString().startsWith(str, k)- パラメータ:
- str- 検索対象の部分文字列。
- 戻り値:
- 指定された部分文字列が最後に出現する位置のインデックス。そのような出現箇所がない場合は-1。
 
- 
lastIndexOfpublic int lastIndexOf(String str, int fromIndex) この文字列内で、指定された部分文字列が最後に出現する位置のインデックスを返します(検索は指定されたインデックスから開始され、先頭方向に行われる)。k <= Math.min(fromIndex, this.length()) && this.toString().startsWith(str, k)- パラメータ:
- str- 検索対象の部分文字列。
- fromIndex- 検索開始位置のインデックス。
- 戻り値:
- 指定された部分文字列が最後に出現する位置のインデックス(指定されたインデックスから逆方向に検索を行う)。そのような出現箇所がない場合は-1。
 
- 
reversepublic StringBuilder reverse()この文字シーケンスを、シーケンスの順序を逆にしたもので置き換えます。 シーケンスにサロゲート・ペアが含まれている場合、それらは反転操作時に単一の文字として扱われます。 したがって、サロゲートの上位-下位の順番が反転することは決してありません。reverseメソッドの実行直前に、この文字シーケンスの文字長(char値での長さではない)がnであったとします。 このとき、新しい文字シーケンス内のインデックスkの文字は、以前の文字シーケンス内のインデックスn-k-1の文字と等しくなります。反転操作を行うと、操作前にはペアになっていなかった下位サロゲートと上位サロゲートからサロゲート・ペアが生成される可能性があります。 たとえば、「\uDC00\uD800」を反転すると「\uD800\uDC00」が生成されますが、これは有効なサロゲート・ペアです。 - 戻り値:
- このオブジェクトへの参照。
 
- 
toStringpublic String toString()このシーケンス内のデータを表す文字列を返します。 新しいStringオブジェクトが割り当てられ、現在このオブジェクトで表されている文字シーケンスを含むように初期化されます。 その後、このStringが返されます。 その後このシーケンスが変更されても、Stringの内容には影響ありません。- 定義:
- toString、インタフェース- CharSequence
- 戻り値:
- この文字シーケンスの文字列表現。
 
- 
lengthpublic int length()長さ(文字数)を返します。- 定義:
- length、インタフェース- CharSequence
- 戻り値:
- このオブジェクトによって現在表される文字シーケンスの長さ
 
- 
capacitypublic int capacity()現在の容量を返します。 容量とは、(すでに書き込まれた文字を含む)を保存できる文字数で、この値を超えると割当てが行われます。- 戻り値:
- 現在の容量
 
- 
ensureCapacitypublic void ensureCapacity(int minimumCapacity) 容量が必ず指定された最小値以上になるようにします。 現在の容量が引数より小さい場合、より多くの容量を持つ新しい内部配列が割り当てられます。 新しい容量は、次の大きいほうになります。- minimumCapacity引数。
- 以前の容量の2倍の量に2を加えた値。
 minimumCapacity引数が正の値でない場合、このメソッドは何も行わずに復帰します。 このオブジェクトに対する後続の操作によって実際の容量がここで要求された量を下回る可能性があることに注意してください。- パラメータ:
- minimumCapacity保証したい最小容量。
 
- 
trimToSizepublic void trimToSize()この文字シーケンスで使用されているストレージの低減を試みます。 バッファが現在の文字シーケンスを保持するのに必要なサイズよりも大きい場合、そのサイズを変更して容量効率を高めることができます。 このメソッドを呼び出すと、あとでcapacity()メソッドを呼び出した際に返される値に影響する可能性がありますが、必ずそうとはかぎりません。
- 
setLengthpublic void setLength(int newLength) 文字シーケンスの長さを設定します。 このシーケンスが、引数で指定された長さの新しい文字シーケンスに変更されます。newLength未満の負以外のすべてのインデックスkについて、kが古い文字シーケンスの長さ未満である場合、新しい文字シーケンス内のインデックスkの文字は、古いシーケンス内のインデックスkの文字と同じになります。それ以外の場合は、null文字'\u0000'になります。 つまり、newLength引数が現在の長さ未満である場合、その長さが指定された長さに変更されます。newLength引数が現在の長さと等しいかそれより大きい場合は、長さがnewLength引数になるように、十分な数のnull文字('\u0000')が追加されます。newLength引数は0以上でなければなりません。- パラメータ:
- newLength- 新しい長さ
- 例外:
- IndexOutOfBoundsException-- newLength引数が負の場合。
 
- 
charAtpublic char charAt(int index) このシーケンス内の指定されたインデックスのchar値を返します。 配列のインデックスと同様に、最初のchar値の位置がインデックス0、次の文字の位置が1、といった具合になります。index引数は、 0以上で、このシーケンスの長さより小さくなければなりません。インデックスで指定された char値がサロゲートの場合、サロゲート値が返されます。- 定義:
- charAt、インタフェース- CharSequence
- パラメータ:
- index- 目的の- char値のインデックス。
- 戻り値:
- 指定されたインデックスのchar値。
- 例外:
- IndexOutOfBoundsException-- indexが負の値の場合、あるいは- length()に等しいかこれより大きい場合。
 
- 
codePointAtpublic int codePointAt(int index) 指定されたインデックス位置の文字(Unicodeコード・ポイント)を返します。 索引は、char値(Unicodeコード単位)およびその範囲を0からCharSequence.length()- 1に参照します。指定されたインデックスで指定された char値が上位サロゲート範囲にあり、それに続くインデックスがこのシーケンスの長さ未満で、以降のインデックスのchar値が下位サロゲート範囲にある場合、このサロゲート・ペアに対応する補助コード・ポイントが返されます。 それ以外の場合は、指定されたインデックスにあるchar値が返されます。- パラメータ:
- index-- char値へのインデックス
- 戻り値:
- 指定されたindexにある文字のコード・ポイント値
- 例外:
- IndexOutOfBoundsException-- index引数が負の値、またはこのシーケンスの長さと同じかこれより大きい値の場合。
 
- 
codePointBeforepublic 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未満であるか、またはこのシーケンスの長さより大きい値の場合。
 
- 
codePointCountpublic 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より大きい場合。
 
- 
offsetByCodePointspublic int offsetByCodePoints(int index, int codePointOffset) このシーケンス内で、指定されたindexからcodePointOffsetコード・ポイント分だけオフセットされた位置のインデックスを返します。indexとcodePointOffsetで指定されるテキスト範囲内でペアになっていないサロゲートは、それぞれ1つのコード・ポイントとして数えられます。- パラメータ:
- index- オフセットされるインデックス
- codePointOffset- オフセット(コード・ポイント数)
- 戻り値:
- このシーケンス内でのインデックス
- 例外:
- IndexOutOfBoundsException-- indexがこのシーケンスの長さよりも負または大きい場合、または- codePointOffsetが正で、- indexで始まるサブ・シーケンスが- codePointOffsetコード・ポイントより少ない場合、または- codePointOffsetが負で- indexより前のサブ・シーケンスが- codePointOffsetコード・ポイントの絶対値より少ない場合。
 
- 
getCharspublic 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より大きい
 
 
- 
setCharAtpublic void setCharAt(int index, char ch) 指定されたインデックスの文字がchに設定されます。 このシーケンスは、位置indexの文字がchである点を除き、以前の文字シーケンスと同一であるような、新しい文字シーケンスを表現するように変更されます。index引数は、 0以上で、このシーケンスの長さより小さくなければなりません。- パラメータ:
- index- 変更対象の文字のインデックス。
- ch- 新しい文字。
- 例外:
- IndexOutOfBoundsException-- indexが負の値の場合、あるいは- length()に等しいかこれより大きい場合。
 
- 
substringpublic String substring(int start) この文字シーケンスに現在含まれている文字の部分シーケンスを含む新しいStringを返します。 部分文字列は指定されたインデックスで始まり、このシーケンスの末尾までになります。- パラメータ:
- start- 開始インデックス(この値を含む)。
- 戻り値:
- 新しい文字列。
- 例外:
- StringIndexOutOfBoundsException-- startが0より小さい場合、あるいはこのオブジェクトの長さより大きい場合。
 
- 
subSequencepublic 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よりも大きい場合
 
- 
substringpublic String substring(int start, int end) このシーケンスに現在含まれている文字の部分シーケンスを含む新しいStringを返します。 部分文字列は、指定されたstartから始まり、インデックスend - 1にある文字までです。- パラメータ:
- start- 開始インデックス(この値を含む)。
- end- 終了インデックス(この値を含まない)。
- 戻り値:
- 新しい文字列。
- 例外:
- StringIndexOutOfBoundsException-- startまたは- endが負の値であるか- length()より大きい場合、または- startが- endより大きい場合。
 
- 
charspublic IntStream chars()このシーケンスのchar値をゼロ拡張したintを含むストリームを返します。 サロゲート・コード・ポイントにマップするすべてのcharは、解釈されずに渡されます。ストリームは、ターミナル・ストリーム操作が(具体的には、可変シーケンスの場合、ストリームのスプライテータはlate-binding)で始まるときにこのシーケンスにバインドされます。 その操作中にシーケンスが変更された場合、結果は未定義です。 - 定義:
- chars、インタフェース- CharSequence
- 戻り値:
- このシーケンスのchar値のIntStream
- 導入されたバージョン:
- 9
 
- 
codePointspublic IntStream codePoints()このシーケンスからコード・ポイント値のストリームを返します。 そのシーケンスで検出されるサロゲート・ペアがすべて、Character.toCodePointを使用した場合のように結合され、結果がストリームに渡されます。 他のすべてのコード(通常のBMP文字、ペアになっていないサロゲート、未定義のコード単位など)はint値にゼロ拡張されたあと、ストリームに渡されます。ストリームは、ターミナル・ストリーム操作が(具体的には、可変シーケンスの場合、ストリームのスプライテータはlate-binding)で始まるときにこのシーケンスにバインドされます。 その操作中にシーケンスが変更された場合、結果は未定義です。 - 定義:
- インタフェースCharSequence内のcodePoints
- 戻り値:
- このシーケンスからのUnicodeコード・ポイントのIntStream
- 導入されたバージョン:
- 9
 
 
-