| 
 | JavaTMPlatform Standard Ed. 6 | |||||||||
| 前 のクラス 次のクラス | フ レームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
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)このシーケンス内の指定さ れた位置にある文字を削除します。 | 
|  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 文字 '' になります。
つまり、newLength 引数が現在の長さより小さい場合は newLength
引数によって指定された長さに変更されます。
     newLength 引数が現在の長さと等しいか大きい場合は、長さが newLength
引数になるように、文字列バッファに必要なだけの null 文字 ('\u0000') が追加されます。
    
 newLength 引数は 0 以上でなければなりません。 
newLength - 新しい長さ IndexOutOfBoundsException - newLength
引数が負の値の場合
      length()public char charAt(int index)
インデックス引数は 0 以上かつシーケンスの長さより小さくなければなりません。
インデックスで指定された char 値がサロゲートの場合、サロゲート値が返されます。 
CharSequence 内の charAtindex - char 値のインデックス char 値。 IndexOutOfBoundsException - index
が負の値、または文字列の長さ以上である場合length()public int codePointAt(int index)
 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()); の呼び出しとまったく同じです。
このメソッドは、this (追加先) オブジェクトと同期しますが、ソース (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[])
メソッドによって引数が文字列に変換されてから、その文字列の文字がこの文字シーケンスに 追
加された場合とまったく同じ結果になります。 
str - 追加される文字 public StringBuffer append(char[] str,
int offset,
int len)
char 配列引数の部分配列の文字列表現をこのシーケンスに追加します。
    文字配列 str の文字は、インデックス offset
の位置を始点として、このシーケンスに順番に追加されます。このシーケンスの長さは len の値の分だけ増加します。 
最終的には、String.valueOf(char[],int,int)
メソッドによって引数が文字列に変換されてから、その文字列の文字がこの文字シーケンスに 追
加された場合とまったく同じ結果になります。 
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)
メソッドによって引数が文字列に変換されてから、その文字列の文字がこの文字シーケンスに追
加された場合とまったく同じ結果になります。 
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 配列に変換されてから、その配列の文字がこの文字シーケンスに追
加された場合とまったく同じ結果になります。 
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 - Obect 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
で示される位置に 挿
入 された場合とまったく同じ結果になります。 
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
で指定される位置に 挿
入 された場合とまったく同じ結果になります。 
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 の値が存在しない場合、-1 が返されます。k >= Math.min(fromIndex, str.length()) &&
this.toString().startsWith(str, k)
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 の値が存在しない場合、-1 が返されます。k <= Math.min(fromIndex, str.length()) &&
this.toString().startsWith(str, k)
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| 
 | JavaTMPlatform Standard Ed. 6 | |||||||||
| 前 のクラス 次のクラス | フ レームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。