- すべての実装されたインタフェース:
Serializable,CharSequence,Comparable<String>,Constable,ConstantDesc
Stringクラスは文字列を表します。 Javaプログラム内の"abc"などのリテラル文字列はすべて、このクラスのインスタンスとして実行されます。
文字列は定数です。この値を作成したあとに変更はできません。 文字列バッファは可変文字列をサポートします。 文字列オブジェクトは不変であるため、共用することができます。 たとえば、
String str = "abc";
は次と同等です。
char data[] = {'a', 'b', 'c'};
String str = new String(data);
文字列がどのように使われるかについて、さらに例を示します。
System.out.println("abc");
String cde = "cde";
System.out.println("abc" + cde);
String c = "abc".substring(2, 3);
String d = cde.substring(1, 2);
Stringクラスには、文字列のそれぞれの文字をテストするメソッドや、文字列の比較、文字列の検索、部分文字列の抽出、および文字をすべて大文字または小文字に変換した文字列のコピー作成などを行うメソッドがあります。 ケース・マッピングは、Characterクラスで指定されたUnicode仕様バージョンに基づいています。
Java言語は、文字列連結演算子( + )、およびその他のオブジェクトから文字列への変換に対する特別なサポートを提供します。 文字列の連結および変換の詳細は、「Java言語仕様」を参照してください。
ほかで指定がない場合、null引数をコンストラクタまたはこのクラスのメソッドへ渡すと、NullPointerExceptionがスローされます。
Stringは、補助文字をサロゲート・ペアで表現するUTF-16形式の文字列を表します(詳細は、Characterクラスの「Unicode文字表現」セクションを参照)。 charコード単位を参照するインデックス値です。したがって、補助文字はStringの2つの位置を使用します。
Stringクラスは、Unicodeコード単位(char値)を扱うメソッドのほかに、Unicodeコード・ポイント(文字)を扱うメソッドを提供します。
特に明記されていない限り、文字列を比較するメソッドはロケールを考慮しません。 Collatorクラスは、細かい粒度のロケール依存のString比較のためのメソッドを提供します。
- 実装上のノート:
- 文字列連結演算子の実装は、コンパイラが最終的に「Java言語仕様」に準拠しているかぎり、Javaコンパイラの判断の対象となります。 たとえば、
javacコンパイラは、JDKのバージョンに応じて、StringBuffer、StringBuilder、またはjava.lang.invoke.StringConcatFactoryを使用して演算子を実装できます。 文字列変換の実装は、通常、Objectによって定義され、Javaのすべてのクラスによって継承されるメソッドtoStringによって行われます。 - Java言語仕様を参照してください:
-
15.18.1 文字列連結演算子+
- 導入されたバージョン:
- 1.0
- 関連項目:
-
フィールドのサマリー
フィールド修飾子と型フィールド説明static final Comparator<String>compareToIgnoreCaseと同様にStringオブジェクトを順序付けするComparator。 -
コンストラクタのサマリー
コンストラクタコンストラクタ説明String()新しく生成されたStringオブジェクトを初期化して、空の文字シーケンスを表すようにします。String(byte[] bytes) プラットフォームのデフォルトの文字セットを使用して、指定されたバイト配列を復号化することによって、新しいStringを構築します。String(byte[] ascii, int hibyte) 非推奨。このメソッドは、バイトを文字に正しく変換しません。String(byte[] bytes, int offset, int length) プラットフォームのデフォルトの文字セットを使用して、指定されたバイト部分配列を復号化することによって、新しいStringを構築します。String(byte[] ascii, int hibyte, int offset, int count) 非推奨。このメソッドは、バイトを文字に正しく変換しません。指定された文字セットを使用して、指定されたバイト部分配列をデコードすることによって、新しいStringを構築します。指定された文字セットを使用して、指定された部分バイト配列を復号化することにより、新しいStringを構築します。指定された文字セットを使用して、指定されたバイト配列をデコードすることにより、新しいStringを構築します。指定された文字セットを使用して、指定されたバイト配列をデコードすることにより、新しいStringを構築します。String(char[] value) 新しいStringを割り当てて、これが文字配列引数に現在含まれている文字シーケンスを表すようにします。String(char[] value, int offset, int count) 文字配列引数の部分配列からなる文字を含む新しいStringを割り当てます。String(int[] codePoints, int offset, int count) Unicodeコード・ポイント配列引数の部分配列からなる文字を含む新しいStringを割り当てます。新しく生成されたStringオブジェクトを初期化して、引数と同じ文字シーケンスを表すようにします。つまり、新しく作成された文字列は引数文字列のコピーになります。String(StringBuffer buffer) 文字列バッファ引数に現在含まれている文字列を持つ新しい文字列を構築します。String(StringBuilder builder) 文字列ビルダー引数に現在含まれている文字列を持つ新しい文字列を割り当てます。 -
メソッドのサマリー
修飾子と型メソッド説明charcharAt(int index) 指定されたインデックスのchar値を返します。chars()このシーケンスのchar値をゼロ拡張したintを含むストリームを返します。intcodePointAt(int index) 指定されたインデックス位置の文字(Unicodeコード・ポイント)を返します。intcodePointBefore(int index) 指定されたインデックスの前の文字(Unicodeコード・ポイント)を返します。intcodePointCount(int beginIndex, int endIndex) このStringの指定されたテキスト範囲のUnicodeコード・ポイントの数を返します。このシーケンスからコード・ポイント値のストリームを返します。int2つの文字列を辞書的に比較します。int大文字と小文字の区別なしで、2つの文字列を辞書的に比較します。指定された文字列をこの文字列の最後に連結します。booleanこの文字列が指定されたchar値のシーケンスを含む場合に限りtrueを返します。booleanこの文字列と指定されたCharSequenceを比較します。booleanこの文字列と指定されたStringBufferを比較します。static StringcopyValueOf(char[] data) valueOf(char[])と同等です。static StringcopyValueOf(char[] data, int offset, int count) このインスタンス自体の名目記述子を含むOptionalを返します。booleanこの文字列が、指定された接尾辞で終るかどうかを判定します。booleanこの文字列と指定されたオブジェクトを比較します。booleanequalsIgnoreCase(String anotherString) 大文字と小文字を区別せずに、このStringを別のStringと比較します。static String指定された書式の文字列と引数を使って、書式付き文字列を返します。static String指定されたロケール、書式文字列、および引数を使って、フォーマットされた文字列を返します。この文字列を書式文字列として使用し、指定された引数を書式設定します。byte[]getBytes()プラットフォームのデフォルトの文字セットを使用してこのStringをバイト・シーケンスにエンコード化し、結果を新規バイト配列に格納します。voidgetBytes(int srcBegin, int srcEnd, byte[] dst, int dstBegin) 非推奨。このメソッドは、文字をバイトに正しく変換しません。byte[]指定された文字セットを使用してこのStringをバイト・シーケンスにエンコードし、結果を新規バイト配列に格納します。byte[]指定された文字セットを使用してこのStringをバイト・シーケンスに符号化し、結果を新規バイト配列に格納します。voidgetChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) この文字列から、コピー先の文字配列に文字をコピーします。inthashCode()この文字列のハッシュ・コードを返します。indent(int n) nの値に基づいてこの文字列の各行のインデントを調整し、行の終了文字を正規化します。intindexOf(int ch) この文字列内で、指定された文字が最初に出現する位置のインデックスを返します。intindexOf(int ch, int fromIndex) この文字列内で、指定されたインデックスから検索を開始し、指定された文字が最初に出現する位置のインデックスを返します。intこの文字列内で、指定された部分文字列が最初に出現する位置のインデックスを返します。int指定されたインデックス以降で、指定された部分文字列がこの文字列内で最初に出現する位置のインデックスを返します。intern()文字列オブジェクトの正準表現を返します。booleanisBlank()文字列が空かwhite spaceコード・ポイントのみが含まれる場合はtrueを戻し、それ以外の場合はfalseを返します。booleanisEmpty()length()が0の場合にのみ、trueを返します。static Stringjoin(CharSequence delimiter, CharSequence... elements) 指定されたdelimiterのコピーを使用して結合されたCharSequence要素のコピーからなる新しいStringを返します。static Stringjoin(CharSequence delimiter, Iterable<? extends CharSequence> elements) 指定されたdelimiterのコピーを使用して結合されたCharSequence要素のコピーからなる新しいStringを返します。intlastIndexOf(int ch) この文字列内で、指定された文字が最後に出現する位置のインデックスを返します。intlastIndexOf(int ch, int fromIndex) この文字列内で、指定された文字が最後に出現する位置のインデックスを返します(検索は指定されたインデックスから開始され、先頭方向に行われる)。intlastIndexOf(String str) この文字列内で、指定された部分文字列が最後に出現する位置のインデックスを返します。intlastIndexOf(String str, int fromIndex) この文字列内で、指定された部分文字列が最後に出現する位置のインデックスを返します(検索は指定されたインデックスから開始され、先頭方向に行われる)。intlength()この文字列の長さを戻します。lines()この文字列から抽出された行のストリームを、行終了記号で区切って返します。booleanこの文字列が、指定された正規表現と一致するかどうかを判定します。intoffsetByCodePoints(int index, int codePointOffset) このString内で、指定されたindexからcodePointOffsetコード・ポイント分だけオフセットされた位置のインデックスを返します。booleanregionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len) 2つの文字列領域が等しいかどうかを判定します。booleanregionMatches(int toffset, String other, int ooffset, int len) 2つの文字列領域が等しいかどうかを判定します。repeat(int count) この文字列を連結した値がcount回繰り返される文字列を返します。replace(char oldChar, char newChar) この文字列内にあるすべてのoldCharをnewCharに置換した結果生成される文字列を返します。replace(CharSequence target, CharSequence replacement) リテラル・ターゲット・シーケンスに一致するこの文字列の部分文字列を、指定されたリテラル置換シーケンスに置き換えます。replaceAll(String regex, String replacement) 指定された正規表現に一致する、この文字列の各部分文字列に対し、指定された置換を実行します。replaceFirst(String regex, String replacement) 指定された正規表現に一致する、この文字列の最初の部分文字列に対し、指定された置換を実行します。このインスタンスをConstantDescとして解決します。その結果がインスタンス自体です。String[]この文字列を、指定された正規表現に一致する位置で分割します。String[]この文字列を、指定された正規表現に一致する位置で分割します。booleanstartsWith(String prefix) この文字列が、指定された接頭辞で始まるかどうかを判定します。booleanstartsWith(String prefix, int toffset) この文字列の指定されたインデックス以降の部分文字列が、指定された接頭辞で始まるかどうかを判定します。strip()値がこの文字列であり、先頭と末尾のすべてのwhite spaceが削除されている文字列を返します。偶然のwhite spaceをあらゆる行の最初と最後から削除して、値がこの文字列である文字列を返します。すべての先行white spaceが削除されて、値がこの文字列である文字列を返します。値がこの文字列で、すべての後続white spaceが削除されている文字列を返します。subSequence(int beginIndex, int endIndex) このシーケンスのサブシーケンスである文字シーケンスを返します。substring(int beginIndex) この文字列の部分文字列である文字列を返します。substring(int beginIndex, int endIndex) この文字列の部分文字列である文字列を返します。char[]この文字列を新しい文字配列に変換します。デフォルト・ロケールのルールを使って、このString内のすべての文字を小文字に変換します。toLowerCase(Locale locale) 指定されたLocaleのルールを使って、このString内のすべての文字を小文字に変換します。toString()このオブジェクト(これはすでに文字列です!)デフォルト・ロケールのルールを使って、このString内のすべての文字を大文字に変換します。toUpperCase(Locale locale) 指定されたLocaleのルールを使って、このString内のすべての文字を大文字に変換します。<R> Rこのメソッドは、関数をthis文字列に適用します。文字列リテラルのように変換されたエスケープ・シーケンスを使用して、値がこの文字列の文字列を返します。trim()値がこの文字列で、先頭と末尾のすべてのスペースが削除され、コード・ポイントが'U+0020'(空白文字)以下の文字でスペースが定義されている文字列を返します。static StringvalueOf(boolean b) boolean引数の文字列表現を返します。static StringvalueOf(char c) char引数の文字列表現を返します。static StringvalueOf(char[] data) char配列引数の文字列表現を返します。static StringvalueOf(char[] data, int offset, int count) char配列引数の特定の部分配列の文字列表現を返します。static StringvalueOf(double d) double引数の文字列表現を返します。static StringvalueOf(float f) float引数の文字列表現を返します。static StringvalueOf(int i) int引数の文字列表現を返します。static StringvalueOf(long l) long引数の文字列表現を返します。static StringObject引数の文字列表現を返します。
-
フィールド詳細
-
CASE_INSENSITIVE_ORDER
public static final Comparator<String> CASE_INSENSITIVE_ORDERcompareToIgnoreCaseと同様にStringオブジェクトを順序付けするComparator。 このコンパレータは直列化可能です。このComparatorはロケールを考慮しないので、一部のロケールでは、正しい順序に並べられないことがあります。
Collatorクラスはロケールに依存した比較を提供します。- 導入されたバージョン:
- 1.2
- 関連項目:
-
-
コンストラクタの詳細
-
String
public String()新しく生成されたStringオブジェクトを初期化して、空の文字シーケンスを表すようにします。 Stringは不変なので、このコンストラクタを使う必要はありません。 -
String
public String(String original) 新しく生成されたStringオブジェクトを初期化して、引数と同じ文字シーケンスを表すようにします。つまり、新しく作成された文字列は引数文字列のコピーになります。 Stringは不変なので、originalの明示的なコピーが必要でないかぎり、このコンストラクタを使う必要はありません。- パラメータ:
original-AString
-
String
public String(char[] value) 新しいStringを割り当てて、これが文字配列引数に現在含まれている文字シーケンスを表すようにします。 文字配列の内容がコピーされます。コピー後にその文字が変更されても、新しく作成された文字列には影響しません。- パラメータ:
value- 文字列の初期値
-
String
public String(char[] value, int offset, int count) 文字配列引数の部分配列からなる文字を含む新しいStringを割り当てます。 引数offsetは部分配列の先頭の文字のインデックスであり、引数countは部分配列の長さを指定します。 部分配列の内容がコピーされます。コピー後に文字配列が変更されても、新しく作成された文字列には影響しません。- パラメータ:
value- 文字列のソースである配列offset- 初期オフセットcount- 長さ- throws:
IndexOutOfBoundsException-offsetが負の場合、countは負であるか、またはoffsetがvalue.length - countより大きい
-
String
public String(int[] codePoints, int offset, int count) Unicodeコード・ポイント配列引数の部分配列からなる文字を含む新しいStringを割り当てます。 引数offsetは部分配列の先頭のコード・ポイントのインデックスであり、引数countは部分配列の長さを指定します。 部分配列の内容がcharに変換されます。変換後にint配列が変更されても、新しく作成された文字列には影響しません。- パラメータ:
codePoints- Unicodeコード・ポイントのソースである配列offset- 初期オフセットcount- 長さ- throws:
IllegalArgumentException-codePointsで無効なUnicodeコード・ポイントが見つかった場合IndexOutOfBoundsException-offsetが負の場合、countは負であるか、またはoffsetがcodePoints.length - countより大きい- 導入されたバージョン:
- 1.5
-
String
@Deprecated(since="1.1") public String(byte[] ascii, int hibyte, int offset, int count) 非推奨。このメソッドは、バイトを文字に正しく変換しません。 JDK 1.1以降では、これを行うには、Charset(文字セットの名前)を取る、またはプラットフォームのデフォルト文字セットを使用するStringコンストラクタの使用が推奨されます。8ビット整数値配列の部分配列によって構築される新しいStringを割り当てます。引数
offsetは部分配列の先頭のバイトのインデックスであり、引数countは部分配列の長さを指定します。サブアレイ内の各
byteは、String(byte[],int)コンストラクタで指定されたcharに変換されます。- パラメータ:
ascii- 文字列に変換されるバイトhibyte- 16ビットの各Unicodeコード単位の上位8ビットoffset- 初期オフセットcount- 長さ- throws:
IndexOutOfBoundsException-offsetが負の場合、countは負であるか、またはoffsetがascii.length - countより大きい- 関連項目:
-
String
@Deprecated(since="1.1") public String(byte[] ascii, int hibyte) 非推奨。このメソッドは、バイトを文字に正しく変換しません。 JDK 1.1以降では、これを行うには、Charset(文字セットの名前)を取る、またはプラットフォームのデフォルト文字セットを使用するStringコンストラクタの使用が推奨されます。8ビット整数値の配列からなる文字を持つ新しいStringを割り当てます。 作成される文字列の各文字データc は、バイト配列の対応するコンポーネントbから、次のようになります。c == (char)(((hibyte & 0xff) << 8) | (b & 0xff))- パラメータ:
ascii- 文字列に変換されるバイトhibyte- 16ビットの各Unicodeコード単位の上位8ビット- 関連項目:
-
String
public String(byte[] bytes, int offset, int length, String charsetName) throws UnsupportedEncodingException 指定された文字セットを使用して、指定されたバイト部分配列をデコードすることによって、新しいStringを構築します。 新しいStringの長さは文字セットによって変化するため、部分配列長と一致しないことがあります。指定された文字セットで指定されたバイトが無効な場合、このコンストラクタの動作は指定されません。 デコード処理をより強力に制御する必要がある場合、
CharsetDecoderクラスを使用する必要があります。- パラメータ:
bytes- 文字列に復号化されるバイトoffset- 復号化される先頭バイトのインデックスlength- 復号化するバイト数charsetName- サポートされているcharsetの名前- throws:
UnsupportedEncodingException- 指定された文字セットがサポートされていない場合IndexOutOfBoundsException-offsetが負の場合、lengthは負であるか、またはoffsetがbytes.length - lengthより大きい- 導入されたバージョン:
- 1.1
-
String
public String(byte[] bytes, int offset, int length, Charset charset) 指定された文字セットを使用して、指定された部分バイト配列を復号化することにより、新しいStringを構築します。 新しいStringの長さは文字セットによって変化するため、部分配列長と一致しないことがあります。このメソッドは、不正入力シーケンスやマップ不可文字シーケンスを、この文字セットのデフォルトの置換文字列で置き換えます。 デコード処理をより強力に制御する必要がある場合、
CharsetDecoderクラスを使用する必要があります。- パラメータ:
bytes- 文字列に復号化されるバイトoffset- 復号化される先頭バイトのインデックスlength- 復号化するバイト数charset-bytesの復号化に使用される文字セット- throws:
IndexOutOfBoundsException-offsetが負の場合、lengthは負であるか、またはoffsetがbytes.length - lengthより大きい- 導入されたバージョン:
- 1.6
-
String
public String(byte[] bytes, String charsetName) throws UnsupportedEncodingException 指定された文字セットを使用して、指定されたバイト配列をデコードすることにより、新しいStringを構築します。 新しいStringの長さは文字セットによって変化するため、バイト配列長と一致しないことがあります。指定された文字セットで指定されたバイトが無効な場合、このコンストラクタの動作は指定されません。 デコード処理をより強力に制御する必要がある場合、
CharsetDecoderクラスを使用する必要があります。- パラメータ:
bytes- 文字列に復号化されるバイトcharsetName- サポートされているcharsetの名前- throws:
UnsupportedEncodingException- 指定された文字セットがサポートされていない場合- 導入されたバージョン:
- 1.1
-
String
public String(byte[] bytes, Charset charset) 指定された文字セットを使用して、指定されたバイト配列をデコードすることにより、新しいStringを構築します。 新しいStringの長さは文字セットによって変化するため、バイト配列長と一致しないことがあります。このメソッドは、不正入力シーケンスやマップ不可文字シーケンスを、この文字セットのデフォルトの置換文字列で置き換えます。 デコード処理をより強力に制御する必要がある場合、
CharsetDecoderクラスを使用する必要があります。- パラメータ:
bytes- 文字列に復号化されるバイトcharset-bytesの復号化に使用される文字セット- 導入されたバージョン:
- 1.6
-
String
public String(byte[] bytes, int offset, int length) プラットフォームのデフォルトの文字セットを使用して、指定されたバイト部分配列を復号化することによって、新しいStringを構築します。 新しいStringの長さは文字セットによって変化するため、部分配列長と一致しないことがあります。指定されたバイトがデフォルトの文字セットで無効な場合、このコンストラクタの動作は指定されません。 デコード処理をより強力に制御する必要がある場合、
CharsetDecoderクラスを使用する必要があります。- パラメータ:
bytes- 文字列に復号化されるバイトoffset- 復号化される先頭バイトのインデックスlength- 復号化するバイト数- throws:
IndexOutOfBoundsException-offsetが負の場合、lengthは負であるか、またはoffsetがbytes.length - lengthより大きい- 導入されたバージョン:
- 1.1
-
String
public String(byte[] bytes) プラットフォームのデフォルトの文字セットを使用して、指定されたバイト配列を復号化することによって、新しいStringを構築します。 新しいStringの長さは文字セットによって変化するため、バイト配列長と一致しないことがあります。指定されたバイトがデフォルトの文字セットで無効な場合、このコンストラクタの動作は指定されません。 デコード処理をより強力に制御する必要がある場合、
CharsetDecoderクラスを使用する必要があります。- パラメータ:
bytes- 文字列に復号化されるバイト- 導入されたバージョン:
- 1.1
-
String
public String(StringBuffer buffer) 文字列バッファ引数に現在含まれている文字列を持つ新しい文字列を構築します。 文字列バッファの内容がコピーされます。コピー後に文字列バッファが変更されても、新しく作成された文字列には影響しません。- パラメータ:
buffer-AStringBuffer
-
String
public String(StringBuilder builder) 文字列ビルダー引数に現在含まれている文字列を持つ新しい文字列を割り当てます。 文字列ビルダーの内容がコピーされます。コピー後に文字列ビルダーが変更されても、新しく作成された文字列には影響しません。このコンストラクタの提供目的は、
StringBuilderに移行しやすくすることです。toStringメソッドを使って文字列ビルダーから文字列を取得することは、処理が高速になるので一般的に推奨されています。- パラメータ:
builder-AStringBuilder- 導入されたバージョン:
- 1.5
-
-
メソッドの詳細
-
length
public int length()この文字列の長さを戻します。 長さは文字列内のUnicodeコード単位の数に等しくなります。- 定義:
length、インタフェースCharSequence- 戻り値:
- このオブジェクトによって表される文字シーケンスの長さ。
-
isEmpty
public boolean isEmpty()length()が0の場合にのみ、trueを返します。- 定義:
- インタフェース
CharSequence内のisEmpty - 戻り値:
length()が0の場合はtrue、それ以外の場合はfalse- 導入されたバージョン:
- 1.6
-
charAt
public char charAt(int index) 指定されたインデックスのchar値を返します。 インデックスの範囲は0からlength() - 1までです。 配列のインデックス付けの場合と同じように、シーケンスの最初のcharのインデックスは0、次の文字のインデックスは1と続きます。インデックスで指定された
char値がサロゲートの場合、サロゲート値が返されます。- 定義:
charAt、インタフェースCharSequence- パラメータ:
index-char値のインデックス。- 戻り値:
- 文字列内の指定されたインデックス位置にある
char値。 最初のchar値のインデックスが0になる。 - throws:
IndexOutOfBoundsException-index引数が負の値、または文字列の長さと同じかこれより大きい値の場合。
-
codePointAt
public int codePointAt(int index) 指定されたインデックス位置の文字(Unicodeコード・ポイント)を返します。 インデックスは、char値(Unicodeコード単位)を指し、0からlength()- 1までの範囲です。指定されたインデックス位置の指定された
char値が上位サロゲート範囲に含まれており、それに続くインデックスがStringの長さ未満であり、かつそのインデックス位置のchar値が下位サロゲート範囲に含まれている場合、このサロゲート・ペアに対応する補助コード・ポイントが返されます。 それ以外の場合は、指定されたインデックスにあるchar値が返されます。- パラメータ:
index-char値へのインデックス- 戻り値:
- 指定された
indexにある文字のコード・ポイント値 - throws:
IndexOutOfBoundsException-index引数が負の値、または文字列の長さと同じかこれより大きい値の場合。- 導入されたバージョン:
- 1.5
-
codePointBefore
public int codePointBefore(int index) 指定されたインデックスの前の文字(Unicodeコード・ポイント)を返します。 インデックスはchar値(Unicodeコード単位)を参照し、その範囲は1-lengthになります。(index - 1)のchar値が下位サロゲート範囲に含まれており、(index - 2)が負でなく、かつ(index - 2)のchar値が上位サロゲートに含まれている場合、そのサロゲート・ペアの補助コード・ポイント値が返されます。index - 1のchar値が、ペアになっていない下位サロゲートであるか、または上位サロゲートである場合、そのサロゲート値が返されます。- パラメータ:
index- 返すべきコード・ポイントの直後のインデックス- 戻り値:
- 指定されたインデックスの前にあるUnicodeコード・ポイント値。
- throws:
IndexOutOfBoundsException-index引数が1未満であるか、またはこの文字列の長さより大きい値の場合。- 導入されたバージョン:
- 1.5
-
codePointCount
public int codePointCount(int beginIndex, int endIndex) このStringの指定されたテキスト範囲のUnicodeコード・ポイントの数を返します。 テキスト範囲は、指定されたbeginIndexからインデックスendIndex - 1の位置のcharまでです。 したがって、テキスト範囲の長さ(char数)は、endIndex-beginIndexになります。 テキスト範囲内でペアになっていないサロゲートは、それぞれ1つのコード・ポイントとして数えられます。- パラメータ:
beginIndex- テキスト範囲内の最初のcharへのインデックス。endIndex- テキスト範囲内の最後のcharの直後のインデックス。- 戻り値:
- 指定されたテキスト範囲内のUnicodeコード・ポイントの数
- throws:
IndexOutOfBoundsException-beginIndexが負であるか、endIndexがこのStringの長さより大きいか、あるいはbeginIndexがendIndexより大きい場合。- 導入されたバージョン:
- 1.5
-
offsetByCodePoints
public int offsetByCodePoints(int index, int codePointOffset) このString内で、指定されたindexからcodePointOffsetコード・ポイント分だけオフセットされた位置のインデックスを返します。indexとcodePointOffsetで指定されるテキスト範囲内でペアになっていないサロゲートは、それぞれ1つのコード・ポイントとして数えられます。- パラメータ:
index- オフセットされるインデックスcodePointOffset- オフセット(コード・ポイント数)- 戻り値:
- この
String内でのインデックス - throws:
IndexOutOfBoundsException-indexが負の値、またはこのStringの長さよりも大きい場合、codePointOffsetが正の値でありindexから始まる部分文字列の持つコード・ポイント数がcodePointOffsetコード・ポイント数よりも少ない場合、またはcodePointOffsetが負の値でindexの前の部分文字列の持つ値がcodePointOffsetコード・ポイントの絶対値よりも小さい場合。- 導入されたバージョン:
- 1.5
-
getChars
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- コピー先の配列内での開始座標。- throws:
IndexOutOfBoundsException- 次のどれかに当てはまる場合。srcBeginが負であるsrcBeginがsrcEndより大きいsrcEndがこの文字列の長さより大きいdstBeginが負であるdstBegin+(srcEnd-srcBegin)がdst.lengthより大きい
-
getBytes
@Deprecated(since="1.1") public void getBytes(int srcBegin, int srcEnd, byte[] dst, int dstBegin) 非推奨。このメソッドは、文字をバイトに正しく変換しません。 JDK 1.1では、文字からバイトへの変換には、プラットフォームのデフォルト文字セットを使用するgetBytes()メソッドの使用が推奨されます。この文字列から、転送先のバイト配列に文字をコピーします。 各バイトは対応する文字の下位8ビットを受け取ります。 各文字の上位8ビットはコピーされず、転送されることはありません。コピーする最初の文字はインデックス
srcBegin、コピーする最後の文字はインデックスsrcEnd-1になります。 コピーする文字の合計数はsrcEnd-srcBeginです。 文字をバイトに変換したものがdstの部分配列にコピーされますが、その部分配列の始点のインデックスはdstBeginで、終点のインデックスは次のようになります。dstBegin + (srcEnd-srcBegin) - 1- パラメータ:
srcBegin- コピー対象文字列内の最初の文字のインデックスsrcEnd- コピー対象文字列内の最後の文字のあとのインデックスdst- コピー先配列dstBegin- コピー先の配列内での開始オフセット- throws:
IndexOutOfBoundsException- 次のどれかに当てはまる場合。-
srcBeginが負である -
srcBeginがsrcEndより大きい -
srcEndがこの文字列の長さより大きい -
dstBeginが負である -
dstBegin+(srcEnd-srcBegin)がdst.lengthより大きい
-
-
getBytes
public byte[] getBytes(String charsetName) throws UnsupportedEncodingException 指定された文字セットを使用してこのStringをバイト・シーケンスにエンコードし、結果を新規バイト配列に格納します。指定された文字セットでこの文字列をエンコードできない場合、このメソッドの動作は指定されません。 エンコード処理をより強力に制御する必要がある場合は、
CharsetEncoderクラスを使用してください。- パラメータ:
charsetName- サポートされているcharsetの名前- 戻り値:
- 結果のバイト配列
- throws:
UnsupportedEncodingException- 指定された文字セットがサポートされていない場合- 導入されたバージョン:
- 1.1
-
getBytes
public byte[] getBytes(Charset charset) 指定された文字セットを使用してこのStringをバイト・シーケンスに符号化し、結果を新規バイト配列に格納します。このメソッドは、不正入力シーケンスやマップ不可文字シーケンスを、この文字セットのデフォルトの置換バイト配列で置き換えます。 エンコード処理をより強力に制御する必要がある場合は、
CharsetEncoderクラスを使用してください。- パラメータ:
charset-Stringのエンコード化に使用されるCharset- 戻り値:
- 結果のバイト配列
- 導入されたバージョン:
- 1.6
-
getBytes
public byte[] getBytes()プラットフォームのデフォルトの文字セットを使用してこのStringをバイト・シーケンスにエンコード化し、結果を新規バイト配列に格納します。デフォルトの文字セットでこの文字列をエンコード化できない場合、このメソッドの動作は指定されません。 エンコード処理をより強力に制御する必要がある場合は、
CharsetEncoderクラスを使用してください。- 戻り値:
- 結果のバイト配列
- 導入されたバージョン:
- 1.1
-
equals
public boolean equals(Object anObject) この文字列と指定されたオブジェクトを比較します。 引数がnullではなく、このオブジェクトと同じ文字シーケンスを表すStringオブジェクトである場合にだけ、結果はtrueになります。細かい文字列の比較については、
Collatorを参照してください。 -
contentEquals
public boolean contentEquals(StringBuffer sb) この文字列と指定されたStringBufferを比較します。 結果がtrueになるのは、このStringが指定されたStringBufferと同じ文字シーケンスを表す場合だけです。 このメソッドは、StringBufferとの同期をとります。細かい文字列の比較については、
Collatorを参照してください。- パラメータ:
sb- このStringと比較するStringBuffer- 戻り値:
- この
Stringが、指定されたStringBufferと同じ文字シーケンスを表す場合はtrue。そうでない場合はfalse - 導入されたバージョン:
- 1.4
-
contentEquals
public boolean contentEquals(CharSequence cs) この文字列と指定されたCharSequenceを比較します。 このStringが、指定されたシーケンスと同じ文字値シーケンスを表す場合にだけ、結果がtrueになります。CharSequenceがStringBufferである場合、このメソッドはそれとの同期をとるので注意してください。細かい文字列の比較については、
Collatorを参照してください。- パラメータ:
cs- このStringと比較されるシーケンス- 戻り値:
- この
Stringが、指定されたシーケンスと同じ文字値シーケンスを表す場合はtrue。そうでない場合はfalse - 導入されたバージョン:
- 1.5
-
equalsIgnoreCase
public boolean equalsIgnoreCase(String anotherString) 大文字と小文字を区別せずに、このStringを別のStringと比較します。 長さが同じで、2つの文字列内の対応するUnicodeコード・ポイントが大/小文字を区別せずに等しい場合、2つの文字列は大/小文字を区別せずに等しいとみなされます。次のいずれかが当てはまる場合、2つのUnicodeコード・ポイントは同じであるとみなされ、大文字小文字は区別されません:
- 2つのUnicodeコード・ポイントは同じ(
==演算子による比較)です - 各Unicodeコード・ポイントで
Character.toLowerCase(Character.toUpperCase(int))をコールすると、同じ結果になります
このメソッドはロケールを考慮せず、特定のロケールでは結果が不満足になることに注意してください。
Collatorクラスはロケールに依存した比較を提供します。- パラメータ:
anotherString- このStringと比較するString- 戻り値:
- 引数が
nullでなく、同等のString(大文字と小文字の区別なし)を表す場合はtrue、それ以外の場合はfalse - 関連項目:
- 2つのUnicodeコード・ポイントは同じ(
-
compareTo
public int compareTo(String anotherString) 2つの文字列を辞書的に比較します。 比較は文字列内のそれぞれの文字のUnicode値に基づいて行われます。 このStringオブジェクトによって表される文字シーケンスが、引数文字列によって表される文字シーケンスと辞書的に比較されます。 このStringオブジェクトが辞書的に引数文字列より前にある場合は、結果は負の整数になります。 このStringオブジェクトが辞書的に引数文字列の後ろにある場合、結果は正の整数になります。 それらの文字列が等しい場合、結果はゼロになります。compareToから0が返されるのは、equals(Object)メソッドからtrueが返される場合だけです。辞書的の順序の定義を示します。 2つの文字列が異なる場合、両方の文字列に対して有効なインデックスに位置する文字が異なるか、2つの文字列の長さが異なるか、あるいはその両方が該当します。 1つ以上のインデックス位置に異なる文字がある場合、kをそのようなインデックスの最小値にします。
<演算子を使用して決定された、位置kの文字が小さい値の文字列は、他の文字列の辞書的に先行します。 この場合、compareToは2つの文字列で位置kにある2つの文字の値の差を返します。これは次の式で表される値になります。
有効なすべてのインデックス位置における文字が同じ場合は、短い方の文字列が辞書的に前になります。 この場合は、this.charAt(k)-anotherString.charAt(k)
compareToは文字列の長さの差を返します。これは次の式で表される値になります。this.length()-anotherString.length()
細かい文字列の比較については、
Collatorを参照してください。- 定義:
compareTo、インタフェースComparable<String>- パラメータ:
anotherString- 比較対象のString。- 戻り値:
- 引数文字列がこの文字列に等しい場合は、値
0。この文字列が文字列引数より辞書式に小さい場合は、0より小さい値。この文字列が文字列引数より辞書式に大きい場合は、0より大きい値。
-
compareToIgnoreCase
public int compareToIgnoreCase(String str) 大文字と小文字の区別なしで、2つの文字列を辞書的に比較します。 このメソッドは、Unicodeコード・ポイントごとにCharacter.toLowerCase(Character.toUpperCase(int))をコールすることで大/小文字の違いが解消された、大/小文字が区別されたバージョンの文字列を使用してcompareToをコールする場合の符号を持つ整数を戻します。このメソッドはロケールを考慮しないので、一部のロケールでは、正しい順序に並べられないことがあります。
Collatorクラスはロケールに依存した比較を提供します。- パラメータ:
str- 比較対象のString。- 戻り値:
- 大文字と小文字の区別なしで、指定されたStringがこのStringより大きい場合は負の整数、同じ場合は0、小さい場合は正の整数。
- 導入されたバージョン:
- 1.2
- 関連項目:
-
regionMatches
public boolean regionMatches(int toffset, String other, int ooffset, int len) 2つの文字列領域が等しいかどうかを判定します。この
Stringオブジェクトの部分文字列が、引数otherの部分文字列と比較されます。 これらの部分文字列が同じ文字シーケンスを表す場合、結果はtrueになります。 比較の対象となるStringオブジェクトの部分文字列は、インデックスtoffsetから始まり、長さはlenです。 比較の対象となるotherの部分文字列はインデックスooffsetから始まり、長さはlenです。 次のどれかに該当する場合にだけ、結果はfalseになります。toffsetが負の場合。ooffsetが負の場合。toffset+lenがこのStringオブジェクトの長さより大きい。ooffset+lenが引数otherの長さより大きい。lenより小さく、負でない、次のような整数kがある:this.charAt(toffset +k) != other.charAt(ooffset +k)
このメソッドはロケールを考慮しないことに注意してください。
Collatorクラスはロケールに依存した比較を提供します。- パラメータ:
toffset- この文字列内の部分領域の開始オフセット。other- 文字列引数。ooffset- 文字列引数内の部分領域の開始オフセット。len- 比較対象の文字数。- 戻り値:
- この文字列の指定された部分領域が文字列引数の指定された部分領域と完全に一致する場合は
true、そうでない場合はfalse。
-
regionMatches
public boolean regionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len) 2つの文字列領域が等しいかどうかを判定します。この
Stringオブジェクトの部分文字列が、引数otherの部分文字列と比較されます。 これらの部分文字列が同じUnicodeコード・ポイント・シーケンスを表す場合、結果はtrueになります。ignoreCaseがtrueの場合のみ、大文字と小文字は区別されません。 順序tsequenceとosequenceが比較されます。ここで、tsequenceはthis.substring(toffset, toffset + len).codePoints()をコールした場合と同様に生成される順序で、osequenceはother.substring(ooffset, ooffset + len).codePoints()をコールした場合と同様に生成される順序です。 結果がtrueになるのは、次の条件がすべて満たされている場合のみです:toffsetが負ではありません。ooffsetが負ではありません。toffset+lenがこのStringオブジェクトの長さ以下です。ooffset+lenが他の引数の長さ以下です。ignoreCaseがfalseの場合、対応するUnicodeコード・ポイントのすべてのペアは同じ整数値です。ignoreCaseがtrueの場合、Unicodeコード・ポイントのすべてのペアのCharacter.toLowerCase(Character.toUpperCase(int))は同じ整数値になります。
このメソッドはロケールを考慮しないため、
ignoreCaseがtrueの場合、特定のロケールでは不満足な結果になります。Collatorクラスはロケールに依存した比較を提供します。- パラメータ:
ignoreCase-trueの場合、文字の比較の際に大文字小文字は区別されない。toffset- この文字列内の部分領域の開始オフセット。other- 文字列引数。ooffset- 文字列引数内の部分領域の開始オフセット。len- 比較する(Unicodeコード単位 - 16bitchar値)の文字数。- 戻り値:
- この文字列の指定された部分領域が文字列引数の指定された部分領域と一致する場合は
true、そうでない場合はfalse。 一致した場合に、大文字と小文字が区別されているかどうかは引数ignoreCaseによって決まる。 - 関連項目:
-
startsWith
public boolean startsWith(String prefix, int toffset) この文字列の指定されたインデックス以降の部分文字列が、指定された接頭辞で始まるかどうかを判定します。- パラメータ:
prefix- 接頭辞。toffset- この文字列の比較を開始する位置。- 戻り値:
- 引数によって表される文字シーケンスが、インデックス
toffsetで始まるこのオブジェクトの部分文字列の接頭辞である場合はtrue、そうでない場合はfalse。toffsetが負の値の場合、あるいはStringオブジェクトの長さより大きい場合、結果はfalse。そうでない場合は、結果は次の式の結果と同じthis.substring(toffset).startsWith(prefix)
-
startsWith
public boolean startsWith(String prefix) この文字列が、指定された接頭辞で始まるかどうかを判定します。- パラメータ:
prefix- 接頭辞。- 戻り値:
- 引数によって表される文字シーケンスが、この文字列によって表される文字シーケンスの接頭辞である場合は
true、そうでない場合はfalse。 引数が空の文字列の場合や、equals(Object)メソッドによる判定においてこのStringオブジェクトに等しい場合にもtrueが返される。 - 導入されたバージョン:
- 1.0
-
endsWith
public boolean endsWith(String suffix) この文字列が、指定された接尾辞で終るかどうかを判定します。- パラメータ:
suffix- 接尾辞。- 戻り値:
- 引数によって表される文字シーケンスが、このオブジェクトによって表される文字シーケンスの接尾辞である場合は
true、そうでない場合はfalse。 引数が空の文字列の場合や、equals(Object)メソッドによる判定においてこのStringオブジェクトに等しい場合の結果はtrueになる。
-
hashCode
public int hashCode()この文字列のハッシュ・コードを返します。Stringのハッシュ・コードは、次の方法で計算します。s[0]*31^(n-1) + s[1]*31^(n-2) + ... + s[n-1]
int算術が使用されますが、ここで、s[i]は文字列のi番目の文字であり、nは文字列の長さであり、^は累乗を示します。 空の文字列のハッシュ値は0です。 -
indexOf
public int indexOf(int ch) この文字列内で、指定された文字が最初に出現する位置のインデックスを返します。 値chを持つ文字がこのStringオブジェクトによって表される文字シーケンス内にある場合、最初に出現する位置のインデックス(Unicodeコード単位)が返されます。chの値が0から0xFFFFの範囲にある場合、次の式がtrueとなるような最小値kが返されます。
がtrueであることで証明されます。this.charAt(k) == ch
chがほかの値の場合、次の式がtrueとなるような最小値kです。
がtrueであることで証明されます。 該当する文字がこの文字列内にない場合は、this.codePointAt(k) == ch
-1が返されます。- パラメータ:
ch- 文字(Unicodeコード・ポイント)。- 戻り値:
- このオブジェクトによって表される文字シーケンス内で、指定された文字が最初に出現する位置のインデックス。文字がない場合は
-1。
-
indexOf
public int indexOf(int ch, int fromIndex) この文字列内で、指定されたインデックスから検索を開始し、指定された文字が最初に出現する位置のインデックスを返します。値
chを持つ文字が、このStringオブジェクトによって表される文字シーケンスのfromIndexより大きいか同じインデックス位置にある場合、該当する最初のインデックスが返されます。chの値が0から0xFFFFの範囲にある場合、次の式がtrueとなるような最小値kが返されます。
がtrueであることで証明されます。(this.charAt(k) == ch)
&&(k >= fromIndex)chがほかの値の場合、次の式がtrueとなるような最小値kです。
がtrueであることで証明されます。 いずれの場合も、そのような文字がこの文字列内の位置(this.codePointAt(k) == ch)
&&(k >= fromIndex)fromIndexかそれより後に存在しない場合は、-1が返されます。fromIndexの値に対して制約はない。 負の値の場合は、ゼロの場合と同じ結果になります。この文字列全体が検索されます。 この文字列の長さより大きい場合は、この文字列の長さに等しい場合と同じ結果になり、-1が返されます。すべてのインデックスは、
char値(Unicodeコード単位)で指定されます。- パラメータ:
ch- 文字(Unicodeコード・ポイント)。fromIndex- 検索開始位置のインデックス。- 戻り値:
- このオブジェクトによって表される文字列で、指定された文字が
fromIndexと同じかこれより大きいインデックス位置にある場合は、最初に出現した位置のインデックス。文字がない場合は-1。
-
lastIndexOf
public int lastIndexOf(int ch) この文字列内で、指定された文字が最後に出現する位置のインデックスを返します。ch値が0から0xFFFFの範囲にある場合、返されるインデックス(Unicodeコード単位)は、次の式に該当する最大値kです。
がtrueであることで証明されます。this.charAt(k) == ch
chがほかの値の場合、次の式がtrueとなるような最大値kです。
がtrueであることで証明されます。 該当する文字がこの文字列内にない場合は、this.codePointAt(k) == ch
-1が返されます。Stringの検索は最後の文字から開始され、先頭方向に行われます。- パラメータ:
ch- 文字(Unicodeコード・ポイント)。- 戻り値:
- このオブジェクトによって表される文字シーケンス内で、指定された文字が最後に出現する位置のインデックス。文字がない場合は
-1。
-
lastIndexOf
public int lastIndexOf(int ch, int fromIndex) この文字列内で、指定された文字が最後に出現する位置のインデックスを返します(検索は指定されたインデックスから開始され、先頭方向に行われる)。ch値が0から0xFFFFの範囲にある場合、返されるインデックスは、次の式に該当する最大値kです。
がtrueであることで証明されます。(this.charAt(k) == ch)
&&(k <= fromIndex)chがほかの値の場合、次の式がtrueとなるような最大値kです。
がtrueであることで証明されます。 いずれの場合も、そのような文字がこの文字列内の位置(this.codePointAt(k) == ch)
&&(k <= fromIndex)fromIndexかそれより前に存在しない場合は、-1が返されます。すべてのインデックスは、
char値(Unicodeコード単位)で指定されます。- パラメータ:
ch- 文字(Unicodeコード・ポイント)。fromIndex- 検索開始位置のインデックス。fromIndexの値に対して制約はない。 この文字列の長さと同じかこれより大きい場合は、この文字列の長さより1小さい場合と同じ結果になり、この文字列全体が検索される。 負の値の場合は、-1の場合と同じ結果になり、-1が返される。- 戻り値:
- このオブジェクトによって表される文字シーケンス内で、指定された文字が
fromIndexと同じかこれより小さいインデックス位置に最後に出現する位置のインデックス。指定された文字がその位置より前にない場合は-1。
-
indexOf
public int indexOf(String str) この文字列内で、指定された部分文字列が最初に出現する位置のインデックスを返します。返されるインデックスは、次の式がtrueとなるような最小値
kになります。
このようなthis.startsWith(str, k)kの値が存在しない場合、-1が返されます。- パラメータ:
str- 検索対象の部分文字列。- 戻り値:
- 指定された部分文字列が最初に出現する位置のインデックス。そのような出現箇所がない場合は
-1。
-
indexOf
public int indexOf(String str, int fromIndex) 指定されたインデックス以降で、指定された部分文字列がこの文字列内で最初に出現する位置のインデックスを返します。返されるインデックスは、次の式がtrueとなるような最小値
kになります。
このようなk >= Math.min(fromIndex, this.length()) && this.startsWith(str, k)kの値が存在しない場合、-1が返されます。- パラメータ:
str- 検索対象の部分文字列。fromIndex-検索開始位置のインデックス。- 戻り値:
- 指定されたインデックス以降で、指定された部分文字列が最初に出現する位置のインデックス。そのような出現箇所がない場合は
-1。
-
lastIndexOf
public int lastIndexOf(String str) この文字列内で、指定された部分文字列が最後に出現する位置のインデックスを返します。 空の文字列「」が最後に出現する位置は、this.length()と見なされます。返されるインデックスは、次の式がtrueとなるような最大値
kになります。
このようなthis.startsWith(str, k)kの値が存在しない場合、-1が返されます。- パラメータ:
str- 検索対象の部分文字列。- 戻り値:
- 指定された部分文字列が最後に出現する位置のインデックス。そのような出現箇所がない場合は
-1。
-
lastIndexOf
public int lastIndexOf(String str, int fromIndex) この文字列内で、指定された部分文字列が最後に出現する位置のインデックスを返します(検索は指定されたインデックスから開始され、先頭方向に行われる)。返されるインデックスは、次の式がtrueとなるような最大値
kになります。
このようなk <= Math.min(fromIndex, this.length()) && this.startsWith(str, k)kの値が存在しない場合、-1が返されます。- パラメータ:
str- 検索対象の部分文字列。fromIndex- 検索開始位置のインデックス。- 戻り値:
- 指定された部分文字列が最後に出現する位置のインデックス(指定されたインデックスから逆方向に検索を行う)。そのような出現箇所がない場合は
-1。
-
substring
public String substring(int beginIndex) この文字列の部分文字列である文字列を返します。 部分文字列は指定されたインデックスで始まり、この文字列の最後までになります。例
"unhappy".substring(2) returns "happy" "Harbison".substring(3) returns "bison" "emptiness".substring(9) returns "" (an empty string)
- パラメータ:
beginIndex- 開始インデックス(この値を含む)。- 戻り値:
- 指定された部分文字列。
- throws:
IndexOutOfBoundsException-beginIndexが負の値の場合、あるいはこのStringオブジェクトの長さより大きい場合。
-
substring
public String substring(int beginIndex, int endIndex) この文字列の部分文字列である文字列を返します。 部分文字列は、指定されたbeginIndexから始まり、インデックスendIndex - 1にある文字までです。 したがって、部分文字列の長さはendIndex-beginIndexになります。例
"hamburger".substring(4, 8) returns "urge" "smiles".substring(1, 5) returns "mile"
- パラメータ:
beginIndex- 開始インデックス(この値を含む)。endIndex- 終了インデックス(この値を含まない)。- 戻り値:
- 指定された部分文字列。
- throws:
IndexOutOfBoundsException-beginIndexが負であるか、endIndexがこのStringオブジェクトの長さより大きいか、あるいはbeginIndexがendIndexより大きい場合。
-
subSequence
public CharSequence subSequence(int beginIndex, int endIndex) このシーケンスのサブシーケンスである文字シーケンスを返します。次のフォームのメソッド呼出しは、
次の呼び出しと正確に同じ動作になります。str.subSequence(begin, end)
str.substring(begin, end)
- 定義:
subSequence、インタフェースCharSequence- APIのノート:
- このメソッドが定義されたのは、
StringクラスがCharSequenceインタフェースを実装できるようにするためです。 - パラメータ:
beginIndex- 開始インデックス(この値を含む)。endIndex- 終了インデックス(この値を含まない)。- 戻り値:
- 指定されたサブシーケンス。
- throws:
IndexOutOfBoundsException-beginIndexまたはendIndexが負の場合、endIndexがlength()より大きい場合、またはbeginIndexがendIndexより大きい場合- 導入されたバージョン:
- 1.4
-
concat
指定された文字列をこの文字列の最後に連結します。引数文字列の長さが
0の場合は、このStringオブジェクトが返されます。 それ以外の場合は、このStringオブジェクトで表される文字列と引数文字列で表される文字列とを連結したものを表すStringオブジェクトが返されます。例
"cares".concat("s") returns "caress" "to".concat("get").concat("her") returns "together"- パラメータ:
str- このStringの最後に連結されるString。- 戻り値:
- このオブジェクトの文字列の後に文字列引数で表される文字を連結したものを表す文字列。
-
replace
public String replace(char oldChar, char newChar) この文字列内にあるすべてのoldCharをnewCharに置換した結果生成される文字列を返します。文字
oldCharがこのStringオブジェクトによって表される文字列内にない場合は、このStringオブジェクトへの参照が返されます。 それ以外の場合は、このStringオブジェクトで表される文字列と同じ文字列を表すStringオブジェクトが返されます。ただし、文字列内のoldCharはすべてnewCharに置換されます。例
"mesquite in your cellar".replace('e', 'o') returns "mosquito in your collar" "the war of baronets".replace('r', 'y') returns "the way of bayonets" "sparring with a purple porpoise".replace('p', 't') returns "starring with a turtle tortoise" "JonL".replace('q', 'x') returns "JonL" (no change)- パラメータ:
oldChar- 以前の文字。newChar- 新しい文字。- 戻り値:
- この文字列内のすべての
oldCharをnewCharに置換することによって生成された文字列。
-
matches
public boolean matches(String regex) この文字列が、指定された正規表現と一致するかどうかを判定します。このフォームのメソッド呼び出しstr
.matches(regex)では、次の式と正確に同じ結果が得られます。Pattern.matches(regex, str)- パラメータ:
regex- この文字列との一致を判定する正規表現- 戻り値:
- この文字列が指定された正規表現と一致する場合にだけ、
trueが返される - throws:
PatternSyntaxException- 正規表現の構文が無効な場合- 導入されたバージョン:
- 1.4
- 関連項目:
-
contains
public boolean contains(CharSequence s) この文字列が指定されたchar値のシーケンスを含む場合に限りtrueを返します。- パラメータ:
s- 検索するシーケンス- 戻り値:
- この文字列が
sを含む場合はtrue。そうでない場合はfalse - 導入されたバージョン:
- 1.5
-
replaceFirst
指定された正規表現に一致する、この文字列の最初の部分文字列に対し、指定された置換を実行します。このフォームのメソッド呼び出しstr
.replaceFirst(regex,repl)では、次の式と正確に同じ結果が得られます。Pattern.compile(regex).matcher(str).replaceFirst(repl)置換文字列内でバックスラッシュ(
\)とドル記号($)を使用すると、それをリテラル置換文字列として処理した場合とは結果が異なることがあります。Matcher.replaceFirst(java.lang.String)を参照してください。 必要に応じて、Matcher.quoteReplacement(java.lang.String)を使用して、これらの文字に特別な意味を持たせないようにしてください。- パラメータ:
regex- この文字列との一致を判定する正規表現replacement- 最初に一致するものに置き換えられる文字列- 戻り値:
- 結果となる
String - throws:
PatternSyntaxException- 正規表現の構文が無効な場合- 導入されたバージョン:
- 1.4
- 関連項目:
-
replaceAll
指定された正規表現に一致する、この文字列の各部分文字列に対し、指定された置換を実行します。このフォームのメソッド呼び出しstr
.replaceAll(regex,repl)では、次の式と正確に同じ結果が得られます。Pattern.compile(regex).matcher(str).replaceAll(repl)置換文字列内でバックスラッシュ(
\)とドル記号($)を使用すると、それをリテラル置換文字列として処理した場合とは結果が異なることがあります。Matcher.replaceAllを参照してください。 必要に応じて、Matcher.quoteReplacement(java.lang.String)を使用して、これらの文字に特別な意味を持たせないようにしてください。- パラメータ:
regex- この文字列との一致を判定する正規表現replacement- 一致するものそれぞれに置き換えられる文字列- 戻り値:
- 結果となる
String - throws:
PatternSyntaxException- 正規表現の構文が無効な場合- 導入されたバージョン:
- 1.4
- 関連項目:
-
replace
public String replace(CharSequence target, CharSequence replacement) リテラル・ターゲット・シーケンスに一致するこの文字列の部分文字列を、指定されたリテラル置換シーケンスに置き換えます。 置換は、文字列の先頭から始まり終端まで進みます。たとえば、文字列「aaa」の「aa」を「b」に置換すると、結果は「ab」ではなく、「ba」です。- パラメータ:
target- 置換されるchar値のシーケンスreplacement- char値の置換シーケンス- 戻り値:
- 結果として得られる文字列
- 導入されたバージョン:
- 1.5
-
split
この文字列を、指定された正規表現に一致する位置で分割します。この文字列の各部分文字列を含むメソッドにより返される配列は、指定された式に一致する別の部分文字列、またはその文字列の最後で終了します。 配列内の部分文字列の順序は、この文字列内で出現する順序になります。 入力されたどの部分とも式が一致しない場合、配列は1つの要素(つまり、この文字列)だけを保持します。
この文字列の先頭に、正の幅のマッチがある場合、結果の配列の先頭に、空の先頭部分文字列が含まれます。 先頭のゼロの幅の一致では、そのような空の先頭の部分文字列は生成されません。
limitパラメータは、このパターンの適用回数を制御するため、結果となる配列の長さに影響を及ぼします。limitが正の場合、パターンは最大limit-1回適用され、配列の長さがlimitを超えることはなく、最後に一致したデリミタを超えるすべての入力が配列の最後のエントリに含まれます。
limitがゼロの場合、パターンは可能なかぎり何度も適用され、配列には任意の長さを指定でき、後続の空の文字列は破棄されます。
limitが負の場合、パターンは可能なかぎり適用され、配列の長さは任意になります。
たとえば、次のパラメータが指定された場合の、文字列
"boo:and:foo"の結果を示します。正規表現 制限 Result : 2 { "boo", "and:foo" }5 { "boo", "and", "foo" }-2 { "boo", "and", "foo" }o 5 { "b", "", ":and:f", "", "" }-2 { "b", "", ":and:f", "", "" }0 { "b", "", ":and:f" }このフォームのメソッド呼び出しstr.
split(regex,n)では、次の式と同じ結果が得られます。Pattern.compile(regex).split(str, n)- パラメータ:
regex- 正規表現の区切りlimit- 結果のしきい値(上記を参照)- 戻り値:
- この文字列を指定された正規表現に一致する位置で分割して計算された文字列の配列
- throws:
PatternSyntaxException- 正規表現の構文が無効な場合- 導入されたバージョン:
- 1.4
- 関連項目:
-
split
この文字列を、指定された正規表現に一致する位置で分割します。このメソッドの動作は、2つの引数を取る
splitメソッドを、指定された式および制限引数ゼロを指定して呼び出した場合と同じになります。 つまり、結果として得られる配列には後続の空の文字列は含まれません。たとえば、次の式が指定された場合の、文字列
"boo:and:foo"の結果を示します。正規表現 Result : { "boo", "and", "foo" }o { "b", "", ":and:f" }- パラメータ:
regex- 正規表現の区切り- 戻り値:
- この文字列を指定された正規表現に一致する位置で分割して計算された文字列の配列
- throws:
PatternSyntaxException- 正規表現の構文が無効な場合- 導入されたバージョン:
- 1.4
- 関連項目:
-
join
public static String join(CharSequence delimiter, CharSequence... elements) 指定されたdelimiterのコピーを使用して結合されたCharSequence要素のコピーからなる新しいStringを返します。たとえば、
要素がnullの場合は、String message = String.join("-", "Java", "is", "cool"); // message returned is: "Java-is-cool""null"が追加されることに注意してください。- パラメータ:
delimiter- 各要素を区切る区切り文字elements- 結合する要素。- 戻り値:
delimiterで区切られたelementsからなる新しいString- throws:
NullPointerException-delimiterまたはelementsがnullである場合- 導入されたバージョン:
- 1.8
- 関連項目:
-
join
public static String join(CharSequence delimiter, Iterable<? extends CharSequence> elements) 指定されたdelimiterのコピーを使用して結合されたCharSequence要素のコピーからなる新しいStringを返します。たとえば、
個々の要素がList<String> strings = List.of("Java", "is", "cool"); String message = String.join(" ", strings); // message returned is: "Java is cool" Set<String> strings = new LinkedHashSet<>(List.of("Java", "is", "very", "cool")); String message = String.join("-", strings); // message returned is: "Java-is-very-cool"nullの場合は、"null"が追加されることに注意してください。- パラメータ:
delimiter- 結果となるString内のelementsのそれぞれを区切るために使用される文字シーケンスelements-elementsが結合されるIterable。- 戻り値:
elements引数からなる新しいString- throws:
NullPointerException-delimiterまたはelementsがnullである場合- 導入されたバージョン:
- 1.8
- 関連項目:
-
toLowerCase
指定されたLocaleのルールを使って、このString内のすべての文字を小文字に変換します。 ケース・マッピングは、Characterクラスで指定されたUnicode仕様バージョンに基づいています。 ケース・マッピングは常に1:1の文字マッピングになるとは限らないため、結果として得られるStringが元のStringと長さが異なる場合があります。小文字のマッピング例を、次の表に示します。
ロケールの言語コード 大文字 小文字 説明 tr (トルコ語) \u0130 \u0069 上に点が付いた大文字のI ->小文字のi tr (トルコ語) \u0049 \u0131 大文字のI ->点のない小文字のi (すべて) French Fries french fries String内の文字すべてを小文字に変換 (すべて) ΙΧΘΥΣ ιχθυσ String内の文字すべてを小文字に変換 - パラメータ:
locale- このロケールの大文字小文字変換ルールを使用する- 戻り値:
- 小文字に変換された
String。 - 導入されたバージョン:
- 1.1
- 関連項目:
-
toLowerCase
public String toLowerCase()デフォルト・ロケールのルールを使って、このString内のすべての文字を小文字に変換します。 これは、toLowerCase(Locale.getDefault())の呼び出しと同等です。ノート: このメソッドはロケールに依存するため、単独でロケールと解釈されるような文字列に使用すると、予期せぬ結果を引き起こすことがあります。 例として、プログラミング言語識別子、プロトコル・キー、HTMLタグがあります。 たとえば、トルコ語ロケールの
"TITLE".toLowerCase()は"t\u0131tle"を返します。ここで、「\u0131」は点のないラテン小文字のIの文字です。 ロケールに依存しない文字列の正しい結果を取得するには、toLowerCase(Locale.ROOT)を使用します。- 戻り値:
- 小文字に変換された
String。 - 関連項目:
-
toUpperCase
指定されたLocaleのルールを使って、このString内のすべての文字を大文字に変換します。 ケース・マッピングは、Characterクラスで指定されたUnicode仕様バージョンに基づいています。 ケース・マッピングは常に1:1の文字マッピングになるとは限らないため、結果として得られるStringが元のStringと長さが異なる場合があります。ロケール依存および1:Mのケース・マッピングの例を、次の表に示します。
ロケールの言語コード 小文字 大文字 説明 tr (トルコ語) \u0069 \u0130 小文字のi ->上に点が付いた大文字のI tr (トルコ語) \u0131 \u0049 点のない小文字のi ->大文字のI (すべて) \u00df \u0053 \u0053 小文字のシャープs -> SSの2文字 (すべて) Fahrvergnügen FAHRVERGNÜGEN - パラメータ:
locale- このロケールの大文字小文字変換ルールを使用する- 戻り値:
- 大文字に変換された
String。 - 導入されたバージョン:
- 1.1
- 関連項目:
-
toUpperCase
public String toUpperCase()デフォルト・ロケールのルールを使って、このString内のすべての文字を大文字に変換します。 このメソッドは、toUpperCase(Locale.getDefault())と同等です。ノート: このメソッドはロケールに依存するため、単独でロケールと解釈されるような文字列に使用すると、予期せぬ結果を引き起こすことがあります。 例として、プログラミング言語識別子、プロトコル・キー、HTMLタグがあります。 たとえば、トルコ語ロケールの
"title".toUpperCase()は"T\u0130TLE"を返します。ここで、「\u0130」は上に点が付いたラテン大文字Iの文字です。 ロケールに依存しない文字列の正しい結果を取得するには、toUpperCase(Locale.ROOT)を使用します。- 戻り値:
- 大文字に変換された
String。 - 関連項目:
-
trim
public String trim()値がこの文字列で、先頭と末尾のすべてのスペースが削除され、コード・ポイントが'U+0020'(空白文字)以下の文字でスペースが定義されている文字列を返します。この
Stringオブジェクトが空の文字シーケンスを表しているか、このStringオブジェクトが表す文字シーケンスの最初と最後の文字が両方とも(上で定義したように)のスペースではないコードを持っている場合は、このStringオブジェクトへの参照が返されます。それ以外の場合、この文字列のすべての文字が空白(上で定義したように)であると、空の文字列を表す
Stringオブジェクトが返されます。そうしない場合は、kを文字列の最初の文字のインデックスにし、そのコードが空白である(上で定義したように)ではなく、mをその文字列の最後の文字のインデックスにします(コードが空白(上で定義したように)ではない)。 インデックスkの文字で始まってインデックスmの文字で終わるこの文字列の部分文字列、つまり
this.substring(k, m + 1)の部分文字列を表すStringオブジェクトが返されます。このメソッドを使用して、文字列の先頭と末尾から(上で定義したように)のスペースをトリミングできます。
- 戻り値:
- 値がこの文字列で、先頭と末尾のすべてのスペースが削除されているか、先頭または末尾のスペースがない場合は文字列。
-
strip
public String strip()値がこの文字列であり、先頭と末尾のすべてのwhite spaceが削除されている文字列を返します。この
Stringオブジェクトが空の文字列を表している場合、またはこの文字列内のすべてのコード・ポイントがwhite spaceである場合は、空の文字列が返されます。それ以外の場合は、最初のコード・ポイントで始まる文字列の部分文字列を返します。最初のコード・ポイントはwhite spaceではなく、white spaceではない最後のコード・ポイントを含みます。
このメソッドを使用して、文字列の先頭と末尾からwhite spaceを削除できます。
- 戻り値:
- 値がこの文字列で、先頭と末尾の空白がすべて削除されている文字列
- 導入されたバージョン:
- 11
- 関連項目:
-
stripLeading
public String stripLeading()すべての先行white spaceが削除されて、値がこの文字列である文字列を返します。この
Stringオブジェクトが空の文字列を表している場合、またはこの文字列内のすべてのコード・ポイントがwhite spaceである場合は、空の文字列が返されます。それ以外の場合は、最初のコード・ポイントで始まる文字列の部分文字列を返します。最初のコード・ポイントはwhite spaceではなく、この文字列の最後のコード・ポイントまでです。
このメソッドを使用すると、文字列の先頭からwhite spaceをトリミングできます。
- 戻り値:
- 値がこの文字列で、先頭に空白がすべて削除されている文字列
- 導入されたバージョン:
- 11
- 関連項目:
-
stripTrailing
public String stripTrailing()値がこの文字列で、すべての後続white spaceが削除されている文字列を返します。この
Stringオブジェクトが空の文字列を表す場合、またはこの文字列のすべての文字がwhite spaceの場合、空の文字列が返されます。それ以外の場合は、この文字列の先頭のコード・ポイントから開始し、white spaceではない最後のコード・ポイントまでの部分文字列を返します。
このメソッドを使用すると、文字列の末尾からwhite spaceをトリミングできます。
- 戻り値:
- 値がこの文字列で、後続の空白がすべて削除されている文字列
- 導入されたバージョン:
- 11
- 関連項目:
-
isBlank
public boolean isBlank()文字列が空かwhite spaceコード・ポイントのみが含まれる場合はtrueを戻し、それ以外の場合はfalseを返します。- 戻り値:
- 文字列が空か、white spaceコード・ポイントのみが含まれる場合は
true(それ以外の場合はfalse) - 導入されたバージョン:
- 11
- 関連項目:
-
lines
この文字列から抽出された行のストリームを、行終了記号で区切って返します。「終了文字」は次のいずれかです: 行のフィード文字
"\n"(U+000A)、改行文字"\r"(U+000D)、改行の直後に"\r\n"(U+000D U+000A)が続きます。lineは、行終了文字が続くゼロ文字以上のシーケンスであるか、または文字列の末尾に続く1文字以上の文字のシーケンスです。 線には、線の終端文字は含まれていません。
このメソッドから返されるストリームには、この文字列からの行が出現順に含まれます。
- APIのノート:
- このlineの定義は、空の文字列には行がなく、文字列の終わりに行終了文字の後に空の行がないことを示しています。
- 実装上のノート:
- このメソッドを使用すると、要素を遅延して提供し、改行記号をより高速に検索することによって、split("\R")よりパフォーマンスが向上します。
- 戻り値:
- この文字列から抽出された行のストリーム
- 導入されたバージョン:
- 11
-
indent
public String indent(int n) nの値に基づいてこの文字列の各行のインデントを調整し、行の終了文字を正規化します。この文字列は、
lines()を使用して概念的に複数の線に分割されています。 次に、各行は、下に説明するように調整され、後に行フィード"\n"(U+000A)が追加されます。 その後、結果の明細は連結されて返されます。n > 0の場合は、nスペース(U+0020)が各行の先頭に挿入されます。n < 0の場合、各行の先頭からn「空白文字」までが削除されます。 特定の行に十分な空白がない場合は、先頭の「空白文字」すべてが削除されます。 各空白文字は1文字として扱われます。 特に、タブ文字"\t"(U+0009)は1文字とみなされ、展開されません。n == 0の場合、線は変わりません。 ただし、終了文字は正規化されたままです。- パラメータ:
n- 追加または削除する先行「空白文字」の数- 戻り値:
- 字下げ調整済および行の終わりが正規化された文字列
- 導入されたバージョン:
- 12
- 関連項目:
-
stripIndent
public String stripIndent()偶然のwhite spaceをあらゆる行の最初と最後から削除して、値がこの文字列である文字列を返します。偶然のwhite spaceは、多くの場合、コンテンツを開始デリミタに揃えるためにテキスト・ブロックに存在します。 たとえば、次のコードでは、ドットは偶然のwhite spaceを表します:
このメソッドは、偶然のwhite spaceを削除するインデントとして扱い、コンテンツの相対的なインデントを保持する文字列を生成します。 |を使用して、文字列の各行の開始をビジュアル化します:String html = """ ..............<html> .............. <body> .............. <p>Hello, world</p> .............. </body> ..............</html> ..............""";
最初に、この文字列の個々の行が抽出されます。 lineは、ゼロ文字以上の文字列で、その後に行終了文字または文字列の末尾が続きます。 文字列に少なくとも1つの行終端文字がある場合、最後の行は最後の終端文字と文字列の末尾の間の文字で構成されます。 それ以外の場合、文字列にターミネータがなければ、最後の行は文字列の先頭から文字列の末尾、つまり文字列全体になります。 線には、線の終端文字は含まれていません。|<html> | <body> | <p>Hello, world</p> | </body> |</html>
次に、「最小インデント」 (分)は次のように決定されます:
空白以外の各行の(
isBlank()により定義)では、先頭のwhite space文字がカウントされます。最後の行の先頭のwhite space文字も、「ブランク」の場合でもカウントされます。
「分」値はこれらのカウントの最小値です。
non-blankの各行で、「分」の主要なwhite space文字が削除され、後続のwhite space文字が削除されます。 「空白」の行は、空の文字列で置換されます。
最後に、LF文字
"\n"(U+000A)を使用して行が新しい文字列に結合されます。- APIのノート:
- このメソッドの主な目的は、行のブロックを左にできるだけ奥まで移動しながら、相対的なインデントを保持することです。 そのため、最小インデントされていた行の先頭はwhite spaceではありません。 結果には、この文字列と同じ数の行終端文字が含まれます。 この文字列が行末で終わる場合、結果は行末記号で終わります。
- 実装要件:
- このメソッドでは、すべてのwhite space文字が同じ幅で扱われます。 すべての行のインデントがすべて同じ文字シーケンスで一貫して構成されているかぎり、前述の結果は同じになります。
- 戻り値:
- 偶然のインデントが削除された文字列と正規化された行末
- 導入されたバージョン:
- 15
- 関連項目:
-
translateEscapes
public String translateEscapes()文字列リテラルのように変換されたエスケープ・シーケンスを使用して、値がこの文字列の文字列を返します。エスケープ・シーケンスは次のように変換されます。
[Esc] 名 翻訳 \bバックスペース U+0008\t水平タブ U+0009\nライン・フィード U+000A\f改ページ U+000C\rキャリッジ・リターン U+000D\sスペース U+0020"二重引用符 U+0022\'一重引用符 U+0027\\バックスラッシュ U+005C\0 - \3778進エスケープ コード・ポイント等価 \<line-terminator>continuation discard - 実装上のノート:
- このメソッドでは、"
\u2022"などのUnicodeエスケープは変換されません。 Unicodeエスケープ文字は、入力文字を読み取るときにJavaコンパイラによって変換され、文字列リテラル仕様の一部ではありません。 - 戻り値:
- エスケープ・シーケンスが変換された文字列。
- throws:
IllegalArgumentException- エスケープ・シーケンスが不正な場合。- Java言語仕様を参照してください:
-
3.10.7 エスケープ・シーケンス
- 導入されたバージョン:
- 15
-
transform
このメソッドは、関数をthis文字列に適用します。 この関数は単一の文字列引数を期待し、Rの結果を生成します。f.apply()からスローされた例外はすべて、コール元に伝播されます。- 型パラメータ:
R- 結果の型- パラメータ:
f- 適用する関数- 戻り値:
- この文字列に関数を適用した結果
- 導入されたバージョン:
- 12
- 関連項目:
-
toString
public String toString()このオブジェクト(すでに文字列である)自身が返されます。- 定義:
toString、インタフェースCharSequence- オーバーライド:
toString、クラスObject- 戻り値:
- 文字列自身。
-
chars
public IntStream chars()このシーケンスのchar値をゼロ拡張したintを含むストリームを返します。 サロゲート・コード・ポイントにマップするすべてのcharは、解釈されずに渡されます。- 定義:
chars、インタフェースCharSequence- 戻り値:
- このシーケンスのchar値のIntStream
- 導入されたバージョン:
- 9
-
codePoints
public IntStream codePoints()このシーケンスからコード・ポイント値のストリームを返します。 そのシーケンスで検出されるサロゲート・ペアがすべて、Character.toCodePointを使用した場合のように結合され、結果がストリームに渡されます。 他のすべてのコード(通常のBMP文字、ペアになっていないサロゲート、未定義のコード単位など)はint値にゼロ拡張されたあと、ストリームに渡されます。- 定義:
- インタフェース
CharSequence内のcodePoints - 戻り値:
- このシーケンスからのUnicodeコード・ポイントのIntStream
- 導入されたバージョン:
- 9
-
toCharArray
public char[] toCharArray()この文字列を新しい文字配列に変換します。- 戻り値:
- 新しく割り当てられた文字配列。長さはこの文字列の長さと同じで、内容はこの文字列によって表される文字シーケンスが格納されるように初期化されている。
-
format
指定された書式の文字列と引数を使って、書式付き文字列を返します。常に使用されるロケールは、
Locale.getDefault(Locale.Category)によって返されたロケールで、FORMATカテゴリが指定されています。- パラメータ:
format- 書式文字列args- 書式文字列の書式指示子により参照される引数。 引数が書式指定子よりも多い場合、余分な引数は無視されます。 引数の数は変数で、0(ゼロ)の場合があります。 引数の最大数は、「Java Virtual Machine仕様」で定義されているJava配列の最大サイズによって制限されます。 引数がnullの場合、動作は変換に応じて異なる。- 戻り値:
- フォーマットされた文字列
- throws:
IllegalFormatException- 書式文字列が、不正な構文、所定の引数と互換性がない書式指示子、書式文字列に指定された不適切な引数、またはほかの不正な条件を含む場合。 考えられるすべての書式エラーの仕様については、フォーマッタ・クラス仕様の「詳細」セクションを参照。- 導入されたバージョン:
- 1.5
- 関連項目:
-
format
指定されたロケール、書式文字列、および引数を使って、フォーマットされた文字列を返します。- パラメータ:
l- 書式設定時に適用するlocale。lがnullの場合、ローカリゼーションは適用されない。format- 書式文字列args- 書式文字列の書式指示子により参照される引数。 引数が書式指定子よりも多い場合、余分な引数は無視されます。 引数の数は変数で、0(ゼロ)の場合があります。 引数の最大数は、「Java Virtual Machine仕様」で定義されているJava配列の最大サイズによって制限されます。 引数がnullの場合、動作は変換に応じて異なる。- 戻り値:
- フォーマットされた文字列
- throws:
IllegalFormatException- 書式文字列が、不正な構文、所定の引数と互換性がない書式指示子、書式文字列に指定された不適切な引数、またはほかの不正な条件を含む場合。 考えられるすべての書式エラーの仕様については、フォーマッタ・クラス仕様の「詳細」セクションを参照- 導入されたバージョン:
- 1.5
- 関連項目:
-
formatted
この文字列を書式文字列として使用し、指定された引数を書式設定します。- 実装要件:
- このメソッドは
String.format(this, args)と同等です。 - パラメータ:
args- この文字列でフォーマット指定子によって参照される引数。- 戻り値:
- フォーマットされた文字列
- 導入されたバージョン:
- 15
- 関連項目:
-
valueOf
Object引数の文字列表現を返します。- パラメータ:
obj-Object。- 戻り値:
- 引数が
nullの場合は"null"に等しい文字列。それ以外の場合はobj.toString()の値が返される。 - 関連項目:
-
valueOf
public static String valueOf(char[] data) char配列引数の文字列表現を返します。 文字配列の内容がコピーされます。コピー後にその文字配列が変更されても、返される文字列には影響しません。- パラメータ:
data- 文字配列。- 戻り値:
- 文字配列の文字が格納されている
String。
-
valueOf
public static String valueOf(char[] data, int offset, int count) char配列引数の特定の部分配列の文字列表現を返します。offset引数は部分配列の最初の文字のインデックスを表します。count引数は部分配列の長さを表します。 部分配列の内容がコピーされます。コピー後に文字配列が変更されても、返される文字列には影響しません。- パラメータ:
data- 文字配列。offset- 部分配列の初期オフセット。count- 部分配列の長さ。- 戻り値:
- 文字配列内の指定された部分配列の文字が格納されている
String。 - throws:
IndexOutOfBoundsException-offsetが負の値の場合、countが負の値の場合、あるいはoffset+countがdata.lengthよりも大きい場合。
-
copyValueOf
public static String copyValueOf(char[] data, int offset, int count) - パラメータ:
data- 文字配列。offset- 部分配列の初期オフセット。count- 部分配列の長さ。- 戻り値:
- 文字配列内の指定された部分配列の文字が格納されている
String。 - throws:
IndexOutOfBoundsException-offsetが負の値の場合、countが負の値の場合、あるいはoffset+countがdata.lengthよりも大きい場合。
-
copyValueOf
public static String copyValueOf(char[] data) valueOf(char[])と同等です。- パラメータ:
data- 文字配列。- 戻り値:
- 文字配列の文字が格納されている
String。
-
valueOf
public static String valueOf(boolean b) boolean引数の文字列表現を返します。- パラメータ:
b-boolean。- 戻り値:
- 引数が
trueの場合は"true"に等しい文字列が返され、そうでない場合は"false"に等しい文字列が返される。
-
valueOf
public static String valueOf(char c) char引数の文字列表現を返します。- パラメータ:
c-char。- 戻り値:
- 1つの文字として引数
cが格納された、長さ1の文字列。
-
valueOf
public static String valueOf(int i) int引数の文字列表現を返します。この表現は1つの引数を持つ
Integer.toStringメソッドによって返されるものとまったく同じです。- パラメータ:
i-int。- 戻り値:
int引数の文字列表現。- 関連項目:
-
valueOf
public static String valueOf(long l) long引数の文字列表現を返します。この表現は1つの引数を持つ
Long.toStringメソッドによって返されるものとまったく同じです。- パラメータ:
l-long。- 戻り値:
long引数の文字列表現。- 関連項目:
-
valueOf
public static String valueOf(float f) float引数の文字列表現を返します。この表現は1つの引数を持つ
Float.toStringメソッドによって返されるものとまったく同じです。- パラメータ:
f-float。- 戻り値:
float引数の文字列表現。- 関連項目:
-
valueOf
public static String valueOf(double d) double引数の文字列表現を返します。この表現は1つの引数を持つ
Double.toStringメソッドによって返されるものとまったく同じです。- パラメータ:
d-double。- 戻り値:
double引数の文字列表現。- 関連項目:
-
intern
public String intern()文字列オブジェクトの正準表現を返します。文字列のプールは、初期状態では空で、クラス
Stringによってプライベートに保持されます。internメソッドが呼び出されたときに、
equals(Object)メソッドによってこのStringオブジェクトに等しいと判定される文字列がプールにすでにあった場合は、プール内の該当する文字列が返されます。 そうでない場合は、このStringオブジェクトがプールに追加され、このStringオブジェクトへの参照が返されます。したがって、任意の2つの文字列
sとtについて、s.intern() == t.intern()がtrueになるのは、s.equals(t)がtrueの場合だけです。すべてのリテラル文字列および文字列値定数式が保持されます。 文字列リテラルは、「Java言語仕様」のセクション3.10.5で定義されます。
- 戻り値:
- この文字列と同じ内容だが、一意の文字列のプールからのものであることが保証されている文字列。
-
repeat
public String repeat(int count) この文字列を連結した値がcount回繰り返される文字列を返します。この文字列が空であるか、件数がゼロの場合は、空の文字列が返されます。
- パラメータ:
count- 繰返し回数- 戻り値:
- この文字列で構成された文字列は、この文字列が空であるかカウントがゼロの場合は、
count回繰り返されるか空の文字列です。 - throws:
IllegalArgumentException-countが負の場合。- 導入されたバージョン:
- 11
-
describeConstable
このインスタンス自体の名目記述子を含むOptionalを返します。- 定義:
- インタフェース
Constable内のdescribeConstable - 戻り値:
- Stringインスタンスを説明する
Optional - 導入されたバージョン:
- 12
-
resolveConstantDesc
public String resolveConstantDesc(MethodHandles.Lookup lookup) このインスタンスをConstantDescとして解決します。その結果がインスタンス自体です。- 定義:
- インタフェース
ConstantDesc内のresolveConstantDesc - パラメータ:
lookup- ignored- 戻り値:
- Stringインスタンス
- 導入されたバージョン:
- 12
-