|
JavaTMPlatform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フ レームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object java.lang.StringBuilder
public final class 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
を使用することをお勧めします。
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 |
コンストラクタの詳細 |
---|
public StringBuilder()
public StringBuilder(int capacity)
capacity
- 初期容量
NegativeArraySizeException
- 収容引数が 0
未満の場合public StringBuilder(String str)
16
に文字列引数の長さを加えたものです。
str
- バッファの初期内容
NullPointerException
- str
が null
の場合public StringBuilder(CharSequence seq)
CharSequence
引数と同じ文字を含む文字列ビルダを構築します。文字列ビルダの初期容量は、16
に CharSequence
引数の長さを加えたものです。
seq
- コピー対象のシーケンス
NullPointerException
- seq
が null
の場合メソッドの詳細 |
---|
public StringBuilder append(Object obj)
Object
引数の文字列表現を追加します。
引数は、String.valueOf
メソッドによって変換される場合と同じように文字列に変換され、その文字列の文字がこのシーケンスに追加されます。
obj
- Object
String.valueOf(java.lang.Object)
,
append(java.lang.String)
public StringBuilder append(String str)
String
引数の文字が、順番にこのシーケンスに追加されます。その結果、引数の長さの分だけこのシーケンスの長さが増えます。str
が null
の場合、"null"
の 4 文字が追加されます。
append
メソッドの実行の直前に文字シーケンスに格納されていた文字列の長さが n
で、k が n より小さい場合、新しい文字シーケンス内のインデックス k
にある文字は以前の文字シーケンス内のインデックス k にある文字に等しくなります。そうでない場合は、引数 str
内のインデックス k-n にある文字に等しくなります。
str
- 文字列 public StringBuilder append(StringBuffer sb)
StringBuffer 引数の文字が、順番にこのシーケンスに追加されます。その結果、引数の長さの分だけこのシーケンスの長さが増えます。sb が null の場合、"null" の 4 文字がこのシーケンスに追加されます。
append メソッドの実行直前のこの文字シーケンスの長さが n で、新しい文字シーケンス内のインデックス k が n 未満の場合、インデックス k にある文字は以前の文字シーケンス内のインデックス k にある文字に等しくなります。そうでない場合は、引数 sb
内のインデックス k-n
にある文字に等しくなります。
sb
- 追加する StringBuffer
public StringBuilder append(CharSequence s)
Appendable
の記述: 文字シーケンス csq
を実装するクラスによっては、文字シーケンス全体が追加されない可能性があります。たとえば、csq が CharBuffer
である場合、追加される文字サブシーケンスはバッファの位置または制限によって定義されます。
Appendable
内の append
s
- 追加される文字シーケンス。csq が null
の場合は、この Appendable に "null" の 4 文字が追加される
IndexOutOfBoundsException
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
にある文字に等しくなります。
s
が null
の場合、このメソッドは s パラメータが "null"
の 4 文字を含むシーケンスだったとして文字を追加します。
Appendable
内の append
s
- 追加するシーケンスstart
- 追加されるサブシーケンスの開始インデックス
end
- 追加されるサブシーケンスの終了インデックス IndexOutOfBoundsException
- start
または end
が負、または start
が end
よりも長い、または end
が s.length()
よりも長い場合public StringBuilder append(char[] str)
char
配列引数の文字列表現をこのシーケンスに追加します。
配列引数の文字は、このシーケンスの内容に順番に追加されます。このシーケンスの長さは引数の長さの分だけ増加します。
最終的には、String.valueOf(char[])
メソッドによって引数が文字列に変換されてから、その文字列の文字がこの文字シーケンスに 追
加
された場合とまったく同じ結果になります。
str
- 追加される文字 public StringBuilder append(char[] str,
int offset,
int len)
char
配列引数の部分配列の文字列表現をこのシーケンスに追加します。
文字配列 str
の文字は、インデックス offset
の位置を始点として、このシーケンスに順番に追加されます。このシーケンスの長さは len
の値の分だけ増加します。
最終的には、String.valueOf(char[],int,int)
メソッドによって引数が文字列に変換されてから、その文字列の文字がこの文字シーケンスに 追
加
された場合とまったく同じ結果になります。
str
- 追加される文字offset
- 最初の char
のインデックス
len
- 追加する char
数 public StringBuilder append(boolean b)
boolean
引数の文字列表現をこのシーケンスに追加します。
引数は、String.valueOf
メソッドによって変換される場合と同じように文字列に変換され、その文字列の文字がこのシーケンスに追加されます。
b
- boolean
String.valueOf(boolean)
,
append(java.lang.String)
public StringBuilder append(char c)
char
引数の文字列表現をこのシーケンスに追加します。
引数はこのシーケンスに追加されます。この文字列バッファの長さは 1
だけ増加します。
最終的には、String.valueOf(char)
メソッドによって引数が文字列に変換されてから、その文字列の文字がこの文字シーケンスに追
加
された場合とまったく同じ結果になります。
Appendable
内の append
c
- char
public StringBuilder append(int i)
int
引数の文字列表現をこのシーケンスに追加します。
引数は、String.valueOf
メソッドによって変換される場合と同じように文字列に変換され、その文字列の文字がこのシーケンスに追加されます。
i
- int
String.valueOf(int)
,
append(java.lang.String)
public StringBuilder append(long lng)
long
引数の文字列表現をこのシーケンスに追加します。
引数は、String.valueOf
メソッドによって変換される場合と同じように文字列に変換され、その文字列の文字がこのシーケンスに追加されます。
lng
- long
String.valueOf(long)
,
append(java.lang.String)
public StringBuilder append(float f)
float
引数の文字列表現をこのシーケンスに追加します。
引数は、String.valueOf
メソッドによって変換される場合と同じように文字列に変換され、その文字列の文字がこの文字シーケンスに追加されます。
f
- float
String.valueOf(float)
,
append(java.lang.String)
public StringBuilder append(double d)
double
引数の文字列表現をこのシーケンスに追加します。
引数は、String.valueOf
メソッドによって変換される場合と同じように文字列に変換され、その文字列の文字がこのシーケンスに追加されます。
d
- double
String.valueOf(double)
,
append(java.lang.String)
public StringBuilder appendCodePoint(int codePoint)
codePoint
引数の文字列表現をこのシーケンスに追加します。
この引数はこのシーケンスの内容に追加されます。
このシーケンスの長さは Character.charCount(codePoint)
の分長くなります。
最終的には、Character.toChars(int)
メソッドによって引数が char
配列に変換されてから、その配列の文字がこの文字シーケンスに追
加
された場合とまったく同じ結果になります。
codePoint
- Unicode コードポイント public StringBuilder delete(int start,
int end)
start
から始まり、インデックス end - 1
の位置にある文字まで、あるいはこれに該当する文字がない場合はシーケンスの最後までになります。start
と end
が等しい場合、何も変更はありません。 start
- 開始インデックス (この値を含む)end
- 終了インデックス (この値を含まない) StringIndexOutOfBoundsException
-
start
が負の値の場合、length()
より大きい場合、あるいは end
より大きい場合public StringBuilder deleteCharAt(int index)
char
分短くなります。
注意: 任意のインデックスで文字が補助文字の場合、このメソッドは文字全体を削除しません。補助文字の正確な処理が必要な場合は、Character.charCount(thisSequence.codePointAt(index))
を呼び出して削除する char
の数を決め、thisSequence
をこのシーケンスとしてください。
index
- 削除される char
のインデックス StringIndexOutOfBoundsException
-
index
が負の値の場合、あるいは length()
に等しいかこれより大きい場合public StringBuilder replace(int start,
int end,
String str)
String
の文字に置換します。部分文字列は、指定された start
から始まり、インデックス end - 1
の位置にある文字まで、あるいはこれに該当する文字がない場合はシーケンスの最後までになります。まず、部分文字列の文字が削除されてから、指定された String
が start
に挿入されます。シーケンスは、指定された String が収まるように、必要に応じて長くなります。 start
- 開始インデックス (この値を含む)end
- 終了インデックス (この値を含まない)str
- 以前の内容を置換する String StringIndexOutOfBoundsException
-
start
が負の値の場合、length()
より大きい場合、あるいは end
より大きい場合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()
より大きい場合、offset
か len
が負の値の場合、あるいは (offset+len)
が str.length
より大きい場合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()
public StringBuilder 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 StringBuilder insert(int offset,
char[] str)
char
配列引数の文字列表現をこのシーケンスに挿入します。
配列引数の文字は、このシーケンスの offset
で示される位置に挿入されます。このシーケンスの長さは引数の長さの分だけ増加します。
最終的には、String.valueOf(char[])
メソッドによって引数が文字列に変換されてから、その文字列の文字がこの文字シーケンスの offset
で示される位置に 挿
入
された場合とまったく同じ結果になります。
offset
- オフセットstr
- 文字配列 StringIndexOutOfBoundsException
-
オフセットが無効な場合
public StringBuilder insert(int dstOffset,
CharSequence s)
CharSequence
をこのシーケンスに挿入します。
CharSequence
引数の文字はオフセットで指定されたシーケンスに順番に挿入され、その位置にあった文字を移動させ、このシーケンスを引数 s の長さだけ長くします。
このメソッドの結果は、このオブジェクトの insert(dstOffset, s, 0, s.length()) メソッドを呼び出した場合と全く同じです。
s
が null
の場合、"null"
の 4
文字がこのシーケンスに挿入されます。
dstOffset
- オフセットs
- 挿入されるシーケンス IndexOutOfBoundsException
-
オフセットが無効の場合public StringBuilder 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 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()
public StringBuilder insert(int offset,
char c)
char
引数の文字列表現をこのシーケンスに挿入します。
2 番目の引数が、このシーケンスの offset
で指定される位置に挿入されます。このシーケンスの長さが 1 文字分増加します。
最終的には、String.valueOf(char)
メソッドによって引数が文字列に変換されてから、その文字列の文字がこの文字シーケンスの offset
で指定される位置に 挿
入
された場合とまったく同じ結果になります。
offset 引数は 0
以上で、このシーケンスの長さに等しいかこれより小さくなければなりません。
offset
- オフセットc
- char
IndexOutOfBoundsException
-
オフセットが無効な場合length()
public StringBuilder 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 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()
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()
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()
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 StringBuilder reverse()
reverse
メソッドの実行の前に文字シーケンスに格納されていた以前の文字列の長さが n
の場合、新しい文字シーケンス内のインデックス k にある文字は、以前の文字シーケンス内のインデックス n-k-1
の位置にあった文字に等しくなります。
reverse 操作を行う場合、ペアになっていない下位サロゲートおよび上位サロゲートが操作の前に作成される可能性があります。たとえば、"\uDC00\uD800" を逆にすると、有効なサロゲートペアである "\uD800\uDC00" を作成します。
public String toString()
String
オブジェクトを割り当て、現在このオブジェクトが表す文字シーケンスを含むように初期化します。最後に、作成された String
を返します。この操作のあとにこのシーケンスを変更しても、String
の内容には影響しません。 CharSequence
内の toString
public int length()
CharSequence
内の length
public 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
引数が負の値の場合public char charAt(int index)
インデックス引数は 0 以上かつシーケンスの長さより小さくなければなりません。
インデックスで指定された char
値がサ
ロゲートの場合、サロゲート値が返されます。
CharSequence
内の charAt
index
- char
値のインデックス char
値。 IndexOutOfBoundsException
- index
が負の値、または文字列の長さ以上である場合
length()
- 1
です。
指定されたインデックスで指定された char
値が上位サロゲート範囲にある場合、それに続くインデックスは、このString
の長さ未満です。また、以降のインデックスの char
値が下位サロゲート範囲にある場合、このサロゲートペアに対応する補助コードポイントが返されます。そうでない場合、指定されたインデックスにある char
値が返されます。
index
- char
値のインデックス index
にある文字のコードポイント値IndexOutOfBoundsException
- index
引数が負の値の場合、あるいはこのシーケンスと等しいか大きい場合public int codePointBefore(int index)
char
値 (Unicode コード単位) を参照し、範囲は 1
〜 length
です。
(index - 1)
位置の char
値が下位サロゲートの範囲にある場合、(index - 2)
が負ではない場合、(index - 2)
位置の char
値が上位サロゲートの範囲にある場合、サロゲートペアの補助コードポイント値が返されます。index
- 1
位置の char
値がペアになっていない下位または上位サロゲートの場合、サロゲート値が返されます。
index
- 返されるコードポイントに続くインデックス IndexOutOfBoundsException
- index
引数が 1 より小さい場合、あるいはこのシーケンスより大きい場合public int codePointCount(int beginIndex,
int endIndex)
beginIndex
からインデックス endIndex
- 1
の位置の char
までです。したがって、テキスト範囲の長さ (char
間) は、endIndex-beginIndex
です。テキスト範囲内でペアになっていないサロゲートは、それぞれ 1
つのコードポイントとして数えられます。 beginIndex
- テキスト範囲内の最初の char
へのインデックスendIndex
- テキスト範囲内の最後の char
の後ろのインデックス IndexOutOfBoundsException
- beginIndex
が負の場合、または endIndex
がシーケンスよりも大きい場合、または beginIndex
が endIndex
より大きい場合
public int offsetByCodePoints(int index,
int codePointOffset)
codePointOffset
コードポイントによって指定された index
からのオフセットである、このシーケンス内のインデックスを返します。index
と codePointOffset
によって指定されたテキスト範囲内でペアになっていないサロゲートは、それぞれ 1 つのコードポイントとして数えられます。 index
- オフセットへのインデックスcodePointOffset
- コードポイント内のオフセット IndexOutOfBoundsException
-
インデックスが負、またはこのシーケンスの長さより長い、または codePointOffset
が正かつ index
で始まるサブシーケンスのコードポイントが codePointOffset
のコードポイントよりも少ない、または codePointOffset
が負かつ 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()
に等しいかこれより大きい場合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
内の subSequence
start
- 開始インデックス (この値を含む)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
より大きい場合
|
JavaTMPlatform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フ レームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。