JavaTMPlatform
Standard Ed. 6

java.lang
クラス StringBuilder

java.lang.Object
  上位を拡張 java.lang.StringBuilder
すべての実装されたインタフェース:
Serializable, Appendable, CharSequence

public final class StringBuilder
extends Object
implements Serializable, CharSequence

文字の可変シーケンスです。このクラスは、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 を使用することをお勧めします。

導入されたバージョン:
1.5
関連項目:
StringBuffer, String, 直列化された形 式

コンストラクタの概要
StringBuilder()
          文字を持たず、初期容量が 16 文字である文字列ビルダを構築します。
StringBuilder(CharSequence seq)
          指定された CharSequence 引数と同じ文字を含む文字列ビルダを構築します。
StringBuilder(int capacity)
          文字を持たず、収容引数に よって指定された初期容量の文字列ビルダを構築します。
StringBuilder(String str)
          指定された文字列の内容に 初期化された文字列ビルダを構築します。
 
メソッドの概要
 StringBuilder append(boolean b)
          boolean 引数の文字列表現をこのシーケンスに追加します。
 StringBuilder append(char c)
          char 引数の文字列表現をこのシーケンスに追加します。
 StringBuilder append(char[] str)
          char 配列引数の文字列表現をこのシーケンスに追加します。
 StringBuilder append(char[] str, int offset, int len)
         char 配列引数の部分配列の文字列表現をこのシーケンスに追加します。
 StringBuilder append(CharSequence s)
          この Appendable に指定された文字シーケンスを追加します。
 StringBuilder append(CharSequence s, int start, int end)
          指定された CharSequence のサブシーケンスをこのシーケンスに追加します。
 StringBuilder append(double d)
          double 引数の文字列表現をこのシーケンスに追加します。
 StringBuilder append(float f)
          float 引数の文字列表現をこのシーケンスに追加します。
 StringBuilder append(int i)
         int 引数の文字列表現をこのシーケンスに追加します。
 StringBuilder append(long lng)
          long 引数の文字列表現をこのシーケンスに追加します。
 StringBuilder append(Object obj)
          Object 引数の文字列表現をこのシーケンスに追加します。
 StringBuilder append(String str)
          指定された文字列をこの文字シーケンスに追加します。
 StringBuilder append(StringBuffer sb)
          指定された StringBuffer をこのシーケンスに追加します。
 StringBuilder 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 コードポイントの数を返します。
 StringBuilder delete(int start, int end)
          このシーケンスの部分文字列内の文字をすべて削除します。
 StringBuilder deleteCharAt(int index)
          このシーケンス内の指定された位置にある文字を削除します。
 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)
          指定されたインデックス以降で、指定された部分文字列がこの文字列内で最初に出現する位置のインデックスを返します。
 StringBuilder insert(int offset, boolean b)
          boolean 引数の文字列表現をこのシーケンスに挿入します。
 StringBuilder insert(int offset, char c)
          char 引数の文字列表現をこのシーケンスに挿入します。
 StringBuilder insert(int offset, char[] str)
          char 配列引数の文字列表現をこのシーケンスに挿入します。
 StringBuilder insert(int index, char[] str, int offset, int len)
          str 配列引数の部分配列の文字列表現をこのシーケンスに挿入します。
 StringBuilder insert(int dstOffset, CharSequence s)
          指定された CharSequence をこのシーケンスに挿入します。
 StringBuilder insert(int dstOffset, CharSequence s, int start, int end)
          指定された CharSequence のサブシーケンスをこのシーケンスに挿入します。
 StringBuilder insert(int offset, double d)
          double 引数の文字列表現をこのシーケンスに挿入します。
 StringBuilder insert(int offset, float f)
          float 引数の文字列表現をこのシーケンスに挿入します。
 StringBuilder insert(int offset, int i)
          2 番目の int 引数の文字列表現をこのシーケンスに挿入します。
 StringBuilder insert(int offset, long l)
          long 引数の文字列表現をこのシーケンスに挿入します。
 StringBuilder insert(int offset, Object obj)
          Object 引数の文字列表現をこの文字シーケンスに挿入します。
 StringBuilder 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 からのオフセットであるこのシーケンス内のインデックスを返します。
 StringBuilder replace(int start, int end, String str)
          このシーケンスの部分文字列の文字を、指定された String の文字に置換します。
 StringBuilder 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
 
インタフェース java.lang.CharSequence から継承されたメソッド
charAt, length, subSequence
 

コンストラクタの詳細

StringBuilder

public StringBuilder()
文字を持たず、初期容量が 16 文字である文字列ビルダを構築します。


StringBuilder

public StringBuilder(int capacity)
文字を持たず、収容引数によって指定された初期容量の文字列ビルダを構築します。

パラメータ:
capacity - 初期容量
例外:
NegativeArraySizeException - 収容引数が 0 未満の場合

StringBuilder

public StringBuilder(String str)
指定された文字列の内容に初期化された文字列ビルダを構築します。文字列ビルダの初期容量は、16 に文字列引数の長さを加えたものです。

パラメータ:
str - バッファの初期内容
例外:
NullPointerException - strnull の場合

StringBuilder

public StringBuilder(CharSequence seq)
指定された CharSequence 引数と同じ文字を含む文字列ビルダを構築します。文字列ビルダの初期容量は、16CharSequence 引数の長さを加えたものです。

パラメータ:
seq - コピー対象のシーケンス
例外:
NullPointerException - seqnull の場合
メソッドの詳細

append

public StringBuilder append(Object obj)

Object 引数の文字列表現を追加します。

引数は、String.valueOf メソッドによって変換される場合と同じように文字列に変換され、その文字列の文字がこのシーケンスに追加されます。

パラメータ:
obj - Object
戻り値:
オブジェクトへの参照
関連項目:
String.valueOf(java.lang.Object), append(java.lang.String)

append

public StringBuilder append(String str)

指定された文字列をこの文字シーケンスに追加します。

String 引数の文字が、順番にこのシーケンスに追加されます。その結果、引数の長さの分だけこのシーケンスの長さが増えます。strnull の場合、"null" の 4 文字が追加されます。

append メソッドの実行の直前に文字シーケンスに格納されていた文字列の長さが n で、kn より小さい場合、新しい文字シーケンス内のインデックス k にある文字は以前の文字シーケンス内のインデックス k にある文字に等しくなります。そうでない場合は、引数 str 内のインデックス k-n にある文字に等しくなります。

パラメータ:
str - 文字列
戻り値:
このオブジェクトへの参照

append

public StringBuilder append(StringBuffer sb)
指定された StringBuffer をこのシーケンスに追加します。

StringBuffer 引数の文字が、順番にこのシーケンスに追加されます。その結果、引数の長さの分だけこのシーケンスの長さが増えます。sbnull の場合、"null" の 4 文字がこのシーケンスに追加されます。

append メソッドの実行直前のこの文字シーケンスの長さが n で、新しい文字シーケンス内のインデックス kn 未満の場合、インデックス k にある文字は以前の文字シーケンス内のインデックス k にある文字に等しくなります。そうでない場合は、引数 sb 内のインデックス k-n にある文字に等しくなります。

パラメータ:
sb - 追加する StringBuffer
戻り値:
このオブジェクトへの参照

append

public StringBuilder append(CharSequence s)
インタフェース Appendable の記述:
この Appendable に指定された文字シーケンスを追加します。

文字シーケンス csq を実装するクラスによっては、文字シーケンス全体が追加されない可能性があります。たとえば、csqCharBuffer である場合、追加される文字サブシーケンスはバッファの位置または制限によって定義されます。

定義:
インタフェース Appendable 内の append
パラメータ:
s - 追加される文字シーケンス。csqnull の場合は、この Appendable に "null" の 4 文字が追加される
戻り値:
この Appendable への参照
例外:
IndexOutOfBoundsException

append

public StringBuilder append(CharSequence s,
int start,
int end)

指定された CharSequence のサブシーケンスをこのシーケンスに追加します。

引数 s の文字はインデックス start から始まって インデックス end (この値を含まない) まで順番にこのシーケンスの内容に追加されます。このシーケンスの長さは end - start の値分長くなります。

append メソッドの実行の直前に文字シーケンスに格納されていた文字列の長さが n で、k が n より小さい場合、この文字シーケンス内のインデックス k にある文字はこのシーケンス内のインデックス k にある文字に等しくなります。そうでない場合は、引数 s にあるインデックス k+start-n にある文字に等しくなります。

snull の場合、このメソッドは s パラメータが "null" の 4 文字を含むシーケンスだったとして文字を追加します。

定義:
インタフェース Appendable 内の append
パラメータ:
s - 追加するシーケンス
start - 追加されるサブシーケンスの開始インデックス
end - 追加されるサブシーケンスの終了インデックス
戻り値:
このオブジェクトへの参照
例外:
IndexOutOfBoundsException - start または end が負、または startend よりも長い、または ends.length() よりも長い場合

append

public StringBuilder append(char[] str)

char 配列引数の文字列表現をこのシーケンスに追加します。

配列引数の文字は、このシーケンスの内容に順番に追加されます。このシーケンスの長さは引数の長さの分だけ増加します。

最終的には、String.valueOf(char[]) メソッドによって引数が文字列に変換されてから、その文字列の文字がこの文字シーケンスに 追 加された場合とまったく同じ結果になります。

パラメータ:
str - 追加される文字
戻り値:
オブジェクトへの参照

append

public StringBuilder append(char[] str,
int offset,
int len)

char 配列引数の部分配列の文字列表現をこのシーケンスに追加します。

文字配列 str の文字は、インデックス offset の位置を始点として、このシーケンスに順番に追加されます。このシーケンスの長さは len の値の分だけ増加します。

最終的には、String.valueOf(char[],int,int) メソッドによって引数が文字列に変換されてから、その文字列の文字がこの文字シーケンスに 追 加された場合とまったく同じ結果になります。

パラメータ:
str - 追加される文字
offset - 最初の char のインデックス
len - 追加する char
戻り値:
オブジェクトへの参照

append

public StringBuilder append(boolean b)

boolean 引数の文字列表現をこのシーケンスに追加します。

引数は、String.valueOf メソッドによって変換される場合と同じように文字列に変換され、その文字列の文字がこのシーケンスに追加されます。

パラメータ:
b - boolean
戻り値:
このオブジェクトへの参照

関連項目:
String.valueOf(boolean), append(java.lang.String)

append

public StringBuilder append(char c)

char 引数の文字列表現をこのシーケンスに追加します。

引数はこのシーケンスに追加されます。この文字列バッファの長さは 1 だけ増加します。

最終的には、String.valueOf(char) メソッドによって引数が文字列に変換されてから、その文字列の文字がこの文字シーケンスに追 加された場合とまったく同じ結果になります。

定義:
インタフェース Appendable 内の append
パラメータ:
c - char
戻り値:
このオブジェクトへの参照

append

public StringBuilder append(int i)

int 引数の文字列表現をこのシーケンスに追加します。

引数は、String.valueOf メソッドによって変換される場合と同じように文字列に変換され、その文字列の文字がこのシーケンスに追加されます。

パラメータ:
i - int
戻り値:
このオブジェクトへの参照

関連項目:
String.valueOf(int), append(java.lang.String)

append

public StringBuilder append(long lng)

long 引数の文字列表現をこのシーケンスに追加します。

引数は、String.valueOf メソッドによって変換される場合と同じように文字列に変換され、その文字列の文字がこのシーケンスに追加されます。

パラメータ:
lng - long
戻り値:
このオブジェクトへの参照

関連項目:
String.valueOf(long), append(java.lang.String)

append

public StringBuilder append(float f)

float 引数の文字列表現をこのシーケンスに追加します。

引数は、String.valueOf メソッドによって変換される場合と同じように文字列に変換され、その文字列の文字がこの文字シーケンスに追加されます。

パラメータ:
f - float
戻り値:
このオブジェクトへの参照

関連項目:
String.valueOf(float), append(java.lang.String)

append

public StringBuilder append(double d)

double 引数の文字列表現をこのシーケンスに追加します。

引数は、String.valueOf メソッドによって変換される場合と同じように文字列に変換され、その文字列の文字がこのシーケンスに追加されます。

パラメータ:
d - double
戻り値:
このオブジェクトへの参照

関連項目:
String.valueOf(double), append(java.lang.String)

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 の位置にある文字まで、あるいはこれに該当する文字がない場合はシーケンスの最後までになります。startend が等しい場合、何も変更はありません。

パラメータ:
start - 開始インデックス (この値を含む)
end - 終了インデックス (この値を含まない)
戻り値:
このオブジェクト
例外:
StringIndexOutOfBoundsException - start が負の値の場合、length() より大きい場合、あるいは end より大きい場合

deleteCharAt

public StringBuilder deleteCharAt(int index)

このシーケンス内の指定された位置にある文字を削除します。このシーケンスの長さは char 分短くなります。

注意: 任意のインデックスで文字が補助文字の場合、このメソッドは文字全体を削除しません。補助文字の正確な処理が必要な場合は、Character.charCount(thisSequence.codePointAt(index)) を呼び出して削除する char の数を決め、thisSequence をこのシーケンスとしてください。


パラメータ:
index - 削除される char のインデックス
戻り値:
このオブジェクト
例外:
StringIndexOutOfBoundsException - index が負の値の場合、あるいは length() に等しいかこれより大きい場合

replace

public StringBuilder replace(int start,
int end,
String str)

このシーケンスの部分文字列の文字を、指定された String の文字に置換します。部分文字列は、指定された start から始まり、インデックス end - 1 の位置にある文字まで、あるいはこれに該当する文字がない場合はシーケンスの最後までになります。まず、部分文字列の文字が削除されてから、指定された Stringstart に挿入されます。シーケンスは、指定された String が収まるように、必要に応じて長くなります。

パラメータ:
start - 開始インデックス (この値を含む)
end - 終了インデックス (この値を含まない)
str - 以前の内容を置換する String
戻り値:
このオブジェクト
例外:
StringIndexOutOfBoundsException - start が負の値の場合、length() より大きい場合、あるいは end より大きい場合

insert

public StringBuilder 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() より大きい場合、offsetlen が負の値の場合、あるいは (offset+len)str.length より大きい場合

insert

public StringBuilder insert(int offset,
Object obj)

Object 引数の文字列表現をこの文字シーケンスに挿入します。

2 番目の引数が String.valueOf メソッドの場合と同じように文字列に変換され、その文字列の文字がこのシーケンスの指定されたオフセットに挿入されます。

offset 引数は 0 以上で、このシーケンスの長さに等しいかこれより小さくなければなりません。


パラメータ:
offset - オフセット
obj - Obect
戻り値:
このオブジェクトへの参照
例外:
StringIndexOutOfBoundsException - オフセットが無効な場合

関連項目:
String.valueOf(java.lang.Object), insert(int, java.lang.String), length()

insert

public StringBuilder insert(int offset,
String str)

文字列をこの文字シーケンスに挿入します。

String 引数の文字が、このシーケンスの指定されたオフセット位置に順番に挿入されます。その位置にあった文字は移動され、引数の長さの分だけこのシーケンスの長 さが増加します。strnull の場合は、"null" の 4 文字がこのシーケンスに挿入されます。

新しい文字シーケンスのインデックス k の位置にある文字は、次の文字に等しくなります。

offset 引数は 0 以上で、このシーケンスの長さに等しいかこれより小さくなければなりません。


パラメータ:
offset - オフセット
str - 文字列
戻り値:
このオブジェクトへの参照
例外:
StringIndexOutOfBoundsException - オフセットが無効な場合

関連項目:
length()

insert

public StringBuilder insert(int offset,
char[] str)

char 配列引数の文字列表現をこのシーケンスに挿入します。

配列引数の文字は、このシーケンスの offset で示される位置に挿入されます。このシーケンスの長さは引数の長さの分だけ増加します。

最終的には、String.valueOf(char[]) メソッドによって引数が文字列に変換されてから、その文字列の文字がこの文字シーケンスの offset で示される位置に 挿 入 された場合とまったく同じ結果になります。


パラメータ:
offset - オフセット
str - 文字配列
戻り値:
このオブジェクトへの参照
例外:
StringIndexOutOfBoundsException - オフセットが無効な場合

insert

public StringBuilder insert(int dstOffset,
CharSequence s)
指定された CharSequence をこのシーケンスに挿入します。

CharSequence 引数の文字はオフセットで指定されたシーケンスに順番に挿入され、その位置にあった文字を移動させ、このシーケンスを引数 s の長さだけ長くします。

このメソッドの結果は、このオブジェクトの insert(dstOffset, s, 0, s.length()) メソッドを呼び出した場合と全く同じです。

snull の場合、"null" の 4 文字がこのシーケンスに挿入されます。


パラメータ:
dstOffset - オフセット
s - 挿入されるシーケンス
戻り値:
このオブジェクトへの参照
例外:
IndexOutOfBoundsException - オフセットが無効の場合

insert

public StringBuilder insert(int dstOffset,
CharSequence s,
int start,
int end)

指定された CharSequence のサブシーケンスをこのシーケンスに挿入します。

start および end で指定された引数 s のサブシーケンスは順番にこのシーケンスの指定された目的オフセットに挿入されます。この位置にあった文字を移動させ、シーケンスの長さは end - start の分長くなります。

このシーケンスのインデックス k の位置にある文字は、次の文字に等しくなります。

dstOffset 引数は 0 以上で、このシーケンスの長さに等しいかこれより小さくなければなりません。

start 引数は負ではなく、end より小さくなければなりません。

end 引数は start 以上で、s の長さに等しいかこれより小さくなければなりません。

snull の場合、このメソッドは s パラメータが "null" の 4 文字を含むシーケンスだったとして文字を挿入します。

パラメータ:
dstOffset - このシーケンスのオフセット
s - 挿入されるシーケンス
start - 挿入されるサブシーケンスの開始インデックス
end - 挿入されるサブシーケンスの終了インデックス
戻り値:
このオブジェクトへの参照
例外:
IndexOutOfBoundsException - dstOffset が負、または this.length() より大きい、または start または end が負、または startend より大きい、または ends.length() より大きい場合

insert

public StringBuilder 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()

insert

public StringBuilder insert(int offset,
char c)

char 引数の文字列表現をこのシーケンスに挿入します。

2 番目の引数が、このシーケンスの offset で指定される位置に挿入されます。このシーケンスの長さが 1 文字分増加します。

最終的には、String.valueOf(char) メソッドによって引数が文字列に変換されてから、その文字列の文字がこの文字シーケンスの offset で指定される位置に 挿 入 された場合とまったく同じ結果になります。

offset 引数は 0 以上で、このシーケンスの長さに等しいかこれより小さくなければなりません。

パラメータ:
offset - オフセット
c - char
戻り値:
このオブジェクトへの参照
例外:
IndexOutOfBoundsException - オフセットが無効な場合

関連項目:
length()

insert

public StringBuilder insert(int offset,
int i)

2 番目の int 引数の文字列表現をこのシーケンスに挿入します。

2 番目の引数が String.valueOf メソッドの場合と同じように文字列に変換され、その文字列の文字がこのシーケンスの指定されたオフセットに挿入されます。

offset 引数は 0 以上で、このシーケンスの長さに等しいかこれより小さくなければなりません。

パラメータ:
offset - オフセット
i - int
戻り値:
このオブジェクトへの参照
例外:
StringIndexOutOfBoundsException - オフセットが無効な場合

関連項目:
String.valueOf(int), insert(int, java.lang.String), length()

insert

public StringBuilder 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()

insert

public StringBuilder insert(int offset,
float f)

float 引数の文字列表現をこのシーケンスに挿入します。

2 番目の引数が String.valueOf メソッドの場合と同じように文字列に変換され、その文字列の文字がこのシーケンスの指定されたオフセットに挿入されます。

offset 引数は 0 以上で、このシーケンスの長さに等しいかこれより小さくなければなりません。

パラメータ:
offset - オフセット
f - float
戻り値:
このオブジェクトへの参照
例外:
StringIndexOutOfBoundsException - オフセットが無効な場合

関連項目:
String.valueOf(float), insert(int, java.lang.String), length()

insert

public StringBuilder insert(int offset,
double d)

double 引数の文字列表現をこのシーケンスに挿入します。

2 番目の引数が String.valueOf メソッドの場合と同じように文字列に変換され、その文字列の文字がこのシーケンスの指定されたオフセットに挿入されます。

offset 引数は 0 以上で、このシーケンスの長さに等しいかこれより小さくなければなりません。

パラメータ:
offset - オフセット
d - double
戻り値:
このオブジェクトへの参照
例外:
StringIndexOutOfBoundsException - オフセットが無効な場合

関連項目:
String.valueOf(double), insert(int, java.lang.String), length()

indexOf

public int indexOf(String str)

この文字列内で、指定された部分文字列が最初に出現する位置のインデックスを返します。返される整数は、
 this.toString().startsWith(str, k)
上の式が true となるような最小の k です。

パラメータ:
str - 任意の文字列
戻り値:
文字列引数がこのオブジェクト内の部分文字列である場合は、該当する最初の部分文字列の最初の文字のインデックス。部分文字列がない 場合は -1
例外:
NullPointerException - str が null の場合

indexOf

public int indexOf(String str,
int fromIndex)
指定されたインデックス以降で、指定された部分文字列がこの文字列内で最初に出現する位置のインデックスを返します。返される整数は、次の最 小値 k になります。
     k >= Math.min(fromIndex, str.length()) &&
this.toString().startsWith(str, k)
このような k の値が存在しない場合、-1 が返されます。

パラメータ:
str - 検索対象の部分文字列
de>fromIndex
fromIndex - 検索開始位置のインデックス
戻り値:
指定されたインデックスから検索を開始して、最初に指定された部分文字列が出現する、この文字列内のインデックス
例外:
NullPointerException - strnull の場合

lastIndexOf

public int lastIndexOf(String str)

この文字列内で、指定された部分文字列が一番右に出現する位置のインデックスを返します。空の文字列 "" の一番右に出現した位置が、this.length() と見なされます。返されるインデックスは、
 this.toString().startsWith(str, k)
上の式が true となるような最大の k です。

パラメータ:
str - 検索対象の部分文字列
戻り値:
文字列引数がこのオブジェクト内の部分文字列として 1 回以上出現する場合は、該当する最後の部分文字列の最初の文字のインデックス。部分文字列として出現しない場合は、-1
例外:
NullPointerException - strnull の場合

lastIndexOf

public int lastIndexOf(String str,
int fromIndex)

この文字列内で、指定された部分文字列が最後に出現する位置のインデックスを返します。返される整数は、以下に適合する最大値 k です。
     k <= Math.min(fromIndex, str.length()) &&
this.toString().startsWith(str, k)
このような k の値が存在しない場合、-1 が返されます。

パラメータ:
str - 検索対象の部分文字列
fromIndex - 検索開始位置のインデックス
戻り値:
この文字列内で、指定された部分文字列が最後に出現する位置のインデックス
例外:
NullPointerException - strnull の場合

reverse

public StringBuilder reverse()

この文字シーケンスが、逆の並び順のシーケンスに置換されます。 シーケンスにサロゲートペアが含まれる場合、これらのペアは 1 文字として扱われます。つまり、上位-下位サロゲートの順番は逆になりません。 reverse メソッドの実行の前に文字シーケンスに格納されていた以前の文字列の長さが n の場合、新しい文字シーケンス内のインデックス k にある文字は、以前の文字シーケンス内のインデックス n-k-1 の位置にあった文字に等しくなります。

reverse 操作を行う場合、ペアになっていない下位サロゲートおよび上位サロゲートが操作の前に作成される可能性があります。たとえば、"\uDC00\uD800" を逆にすると、有効なサロゲートペアである "\uD800\uDC00" を作成します。

戻り値:
このオブジェクトへの参照

toString

public String toString()
このシーケンスのデータを表現する文字列を返します。新しい String オブジェクトを割り当て、現在このオブジェクトが表す文字シーケンスを含むように初期化します。最後に、作成された String を返します。この操作のあとにこのシーケンスを変更しても、String の内容には影響しません。

定義:
インタフェース CharSequence 内の toString
戻り値:
この文字シーケンスの文字列表現

length

public int length()
長さ (文字数) を返します。

定義:
インタフェース CharSequence 内の length
戻り値:
このオブジェクトによって現在表示されている文字シーケンスの長さ

capacity

public int capacity()

現在の容量を返します。この容量は、新しく挿入される文字で利用可能な記憶域の量を表します。それを超えると割り当てが発生します。

戻り値:
現在の容量

ensureCapacity

public void ensureCapacity(int minimumCapacity)
容量が指定された最小値以上になることを保証します。この現在の容量が引数より小さい場合は、より容量の大きい新しい内部配列が割り当て られます。新しい容量は次の 2 つのうちの大きいほうです。 minimumCapacity 引数が正の値でない場合、このメソッドは何も行わずに復帰します。

パラメータ:
minimumCapacity - 保証したい最小容量

trimToSize

public void trimToSize()
文字シーケンスに使用される記憶領域を減らそうとします。 バッファが現在の文字のシーケンスに必要な長さよりも長い場合は容量が効率的になるようにサイズを変更します。このメソッドを呼び出すと、 capacity() メソッドへの後続の呼び出しで返される値に影響する可能性があります。


setLength

public void setLength(int newLength)
この文字シーケンスの長さを設定します。このシーケンスは長さが引数によって指定された新しい文字シーケンスを表すように変更されます。newLength より小さい、負でないすべての k では、新しい文字シーケンス内のインデックス k の位置にある文字は、k が以前の文字シーケンスの長さより小さい場合は、以前の文字シーケンス内のインデックス k の位置にある文字に等しくなります。そうでない場合は、null 文字 '' になります。 つまり、newLength 引数が現在の長さより小さい場合は newLength 引数によって指定された長さに変更されます。

newLength 引数が現在の長さと等しいか大きい場合は、長さが newLength 引数になるように、文字列バッファに必要なだけの null 文字 ('\u0000') が追加されます。

newLength 引数は 0 以上でなければなりません。

パラメータ:
newLength - 新しい長さ
例外:
IndexOutOfBoundsException - newLength 引数が負の値の場合

charAt

public char charAt(int index)

指定されたインデックス位置にある char 値を返します。配列のインデックス付けの場合と同じように、シーケンスの最初の char 値のインデックスは 0、次の文字のインデックスは 1 と続きます。

インデックス引数は 0 以上かつシーケンスの長さより小さくなければなりません。

インデックスで指定された char 値がサ ロゲートの場合、サロゲート値が返されます。

定義:
インタフェース CharSequence 内の charAt
パラメータ:
index - char 値のインデックス
戻り値:
指定されたインデックス位置にある char 値。
例外:
IndexOutOfBoundsException - index が負の値、または文字列の長さ以上である場合

codePointAt

指定されたインデックス位置の文字 (Unicode コードポイント) を返します。インデックスは char 値 (Unicode コード単位) を参照し、範囲は 0 〜 length() - 1 です。

指定されたインデックスで指定された char 値が上位サロゲート範囲にある場合、それに続くインデックスは、このString の長さ未満です。また、以降のインデックスの char 値が下位サロゲート範囲にある場合、このサロゲートペアに対応する補助コードポイントが返されます。そうでない場合、指定されたインデックスにある char 値が返されます。

パラメータ:
index - char 値のインデックス
戻り値:
指定された index にある文字のコードポイント値
例外:
IndexOutOfBoundsException - index 引数が負の値の場合、あるいはこのシーケンスと等しいか大きい場合

codePointBefore

public int codePointBefore(int index)
指定されたインデックスの前の文字 (Unicode コードポイント) を返します。インデックスは char 値 (Unicode コード単位) を参照し、範囲は 1length です。

(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 がシーケンスよりも大きい場合、または beginIndexendIndex より大きい場合

offsetByCodePoints

public int offsetByCodePoints(int index,
int codePointOffset)

codePointOffset コードポイントによって指定された index からのオフセットである、このシーケンス内のインデックスを返します。indexcodePointOffset によって指定されたテキスト範囲内でペアになっていないサロゲートは、それぞれ 1 つのコードポイントとして数えられます。

パラメータ:
index - オフセットへのインデックス
codePointOffset - コードポイント内のオフセット
戻り値:
このシーケンス内のインデックス
 
例外:
IndexOutOfBoundsException - インデックスが負、またはこのシーケンスの長さより長い、または 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 へのオフセット
例外:
NullPointerException - dstnull の場合
IndexOutOfBoundsException - 次のどれかに当てはまる場合
  • srcBegin が負
  • dstBegin が負
  • srcBegin 引数が srcEnd 引数より大きい
  • srcEndthis.length() より大きい
  • dstBegin+srcEnd-srcBegindst.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 インタフェースを実装可能になります。

定義:
インタフェース CharSequence 内の subSequence
パラメータ:
start - 開始インデックス (この値を含む)
end - 終了インデックス (この値を含まない)
戻り値:
指定されたサブシーケンス
例外:
IndexOutOfBoundsException - start または end が負の値の場合、endlength() より大きい場合、あるいは startend より大きい場合

substring

public String substring(int start,
int end)

このシーケンスに現在格納されている文字列の一部が入った新しい String を返します。部分文字列は、指定された start から始まり、インデックス end - 1 にある文字までになります。
パラメータ:
start - 開始インデックス (この値を含む)
end - 終了インデックス (この値を含まない)
戻り値:
新しい文字列
例外:
StringIndexOutOfBoundsException - start または end が負の値の場合、length() より大きい場合、あるいは startend より大きい場合

JavaTMPlatform
Standard Ed. 6

バ グの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java SE 開発者用ドキュメントを 参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。