- すべての実装されたインタフェース:
- 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) default charsetを使用して指定したバイト配列をデコードすることによって、新しいStringを作成します。String(byte[] ascii, int hibyte) 非推奨。このメソッドでは、バイトから文字への変換が正しく行われません。String(byte[] bytes, int offset, int length) default charsetを使用して、指定したバイトのサブ配列をデコードすることによって、新しい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()default charsetを使用してこの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) この文字列内で、指定されたインデックスから検索を開始し、指定された文字が最初に出現する位置のインデックスを返します。intindexOf(int ch, int beginIndex, int endIndex) beginIndexで検索を開始し、endIndexの前に停止して、指定した文字の最初の出現の文字列内の索引を返します。intこの文字列内で、指定された部分文字列が最初に出現する位置のインデックスを返します。int指定されたインデックス以降で、指定された部分文字列がこの文字列内で最初に出現する位置のインデックスを返します。int指定されたthis文字列の索引範囲内で、指定された部分文字列の最初の出現のインデックスを返します。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[]この文字列を、指定された正規表現に一致する位置で分割します。String[]splitWithDelimiters(String regex, int limit) 指定された正規表現の一致を囲むこの文字列を分割し、文字列と一致する区切り文字の両方を返します。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_ORDERpublic static final Comparator<String> CASE_INSENSITIVE_ORDERcompareToIgnoreCaseと同様にStringオブジェクトを順序付けするComparator。 このコンパレータは直列化可能です。このComparatorはロケールを考慮しないので、一部のロケールでは、正しい順序に並べられないことがあります。 Collatorクラスは、ロケール依存の比較を提供します。- 導入されたバージョン:
- 1.2
- 関連項目:
 
 
- 
- 
コンストラクタの詳細- 
Stringpublic String()新しく生成されたStringオブジェクトを初期化して、空の文字シーケンスを表すようにします。 Stringは不変なので、このコンストラクタを使う必要はありません。
- 
Stringpublic String(String original) 新しく生成されたStringオブジェクトを初期化して、引数と同じ文字シーケンスを表すようにします。つまり、新しく作成された文字列は引数文字列のコピーになります。 Stringは不変なので、originalの明示的なコピーが必要でないかぎり、このコンストラクタを使う必要はありません。- パラメータ:
- original-A- String
 
- 
Stringpublic String(char[] value) 新しいStringを割り当てて、これが文字配列引数に現在含まれている文字シーケンスを表すようにします。 文字配列の内容がコピーされます。コピー後にその文字が変更されても、新しく作成された文字列には影響しません。文字列の構成中に文字配列が変更された場合、文字列の内容は指定されません。 - パラメータ:
- value- 文字列の初期値
 
- 
Stringpublic String(char[] value, int offset, int count) 文字配列引数の部分配列からなる文字を含む新しいStringを割り当てます。 引数offsetは部分配列の先頭の文字のインデックスであり、引数countは部分配列の長さを指定します。 部分配列の内容がコピーされます。コピー後に文字配列が変更されても、新しく作成された文字列には影響しません。文字列の構成中に文字配列が変更された場合、文字列の内容は指定されません。 - パラメータ:
- value- 文字列のソースである配列
- offset- 初期オフセット
- count- 長さ
- 例外:
- IndexOutOfBoundsException-- offsetが負の場合、- countが負の場合、または- offsetが- value.length - countより大きい場合
 
- 
Stringpublic String(int[] codePoints, int offset, int count) Unicodeコード・ポイント配列引数の部分配列からなる文字を含む新しいStringを割り当てます。 引数offsetは部分配列の先頭のコード・ポイントのインデックスであり、引数countは部分配列の長さを指定します。 部分配列の内容がcharに変換されます。変換後にint配列が変更されても、新しく作成された文字列には影響しません。文字列の構成中にコード・ポイント配列が変更された場合、文字列の内容は指定されません。 - パラメータ:
- codePoints- Unicodeコード・ポイントのソースである配列
- offset- 初期オフセット
- count- 長さ
- 例外:
- 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、文字セット名、またはdefault charsetを使用するStringコンストラクタを使用することをお薦めします。8ビット整数値配列の部分配列によって構築される新しいStringを割り当てます。引数 offsetは部分配列の先頭のバイトのインデックスであり、引数countは部分配列の長さを指定します。サブ配列内の各 byteは、String(byte[],int)コンストラクタで指定されたcharに変換されます。文字列の構成中にバイト配列が変更された場合、文字列の内容は指定されません。 - パラメータ:
- ascii- 文字列に変換されるバイト
- hibyte- 16ビットの各Unicodeコード単位の上位8ビット
- offset- 初期オフセット
- count- 長さ
- 例外:
- IndexOutOfBoundsException-- offsetが負の場合、- countが負の場合、または- offsetが- ascii.length - countより大きい場合
- 関連項目:
 
- 
String@Deprecated(since="1.1") public String(byte[] ascii, int hibyte) 非推奨。このメソッドでは、バイトから文字への変換が正しく行われません。 JDK 1.1では、Charset、文字セット名、またはdefault charsetを使用するStringコンストラクタを使用することをお薦めします。8ビット整数値の配列からなる文字を持つ新しいStringを割り当てます。 作成される文字列の各文字データc は、バイト配列の対応するコンポーネントbから、次のようになります。c == (char)(((hibyte & 0xff) << 8) | (b & 0xff))文字列の構成中にバイト配列が変更された場合、文字列の内容は指定されません。 - パラメータ:
- ascii- 文字列に変換されるバイト
- hibyte- 16ビットの各Unicodeコード単位の上位8ビット
- 関連項目:
 
- 
Stringpublic String(byte[] bytes, int offset, int length, String charsetName) throws UnsupportedEncodingException 指定された文字セットを使用して、指定されたバイト部分配列をデコードすることによって、新しいStringを構築します。 新しいStringの長さは文字セットによって変化するため、部分配列長と一致しないことがあります。指定された文字セットで指定されたバイトが無効な場合、このコンストラクタの動作は指定されません。 デコード処理をより強力に制御する必要がある場合、 CharsetDecoderクラスを使用する必要があります。文字列の構成中にバイト配列が変更された場合、文字列の内容は指定されません。 - パラメータ:
- bytes- 文字列に復号化されるバイト
- offset- 復号化される先頭バイトのインデックス
- length- 復号化するバイト数
- charsetName- サポートされているcharsetの名前
- 例外:
- UnsupportedEncodingException- 指定された文字セットがサポートされていない場合
- IndexOutOfBoundsException-- offsetが負の場合、- lengthが負の場合、または- offsetが- bytes.length - lengthより大きい場合
- 導入されたバージョン:
- 1.1
 
- 
Stringpublic String(byte[] bytes, int offset, int length, Charset charset) 指定された文字セットを使用して、指定された部分バイト配列を復号化することにより、新しいStringを構築します。 新しいStringの長さは文字セットによって変化するため、部分配列長と一致しないことがあります。このメソッドは、不正入力シーケンスやマップ不可文字シーケンスを、この文字セットのデフォルトの置換文字列で置き換えます。 デコード処理をより強力に制御する必要がある場合、 CharsetDecoderクラスを使用する必要があります。文字列の構成中にバイト配列が変更された場合、文字列の内容は指定されません。 - パラメータ:
- bytes- 文字列に復号化されるバイト
- offset- 復号化される先頭バイトのインデックス
- length- 復号化するバイト数
- charset-- bytesの復号化に使用される文字セット
- 例外:
- IndexOutOfBoundsException-- offsetが負の場合、- lengthが負の場合、または- offsetが- bytes.length - lengthより大きい場合
- 導入されたバージョン:
- 1.6
 
- 
Stringpublic String(byte[] bytes, String charsetName) throws UnsupportedEncodingException 指定された文字セットを使用して、指定されたバイト配列をデコードすることにより、新しいStringを構築します。 新しいStringの長さは文字セットによって変化するため、バイト配列長と一致しないことがあります。指定された文字セットで指定されたバイトが無効な場合、このコンストラクタの動作は指定されません。 デコード処理をより強力に制御する必要がある場合、 CharsetDecoderクラスを使用する必要があります。文字列の構成中にバイト配列が変更された場合、文字列の内容は指定されません。 - パラメータ:
- bytes- 文字列に復号化されるバイト
- charsetName- サポートされているcharsetの名前
- 例外:
- UnsupportedEncodingException- 指定された文字セットがサポートされていない場合
- 導入されたバージョン:
- 1.1
 
- 
Stringpublic String(byte[] bytes, Charset charset) 指定された文字セットを使用して、指定されたバイト配列をデコードすることにより、新しいStringを構築します。 新しいStringの長さは文字セットによって変化するため、バイト配列長と一致しないことがあります。このメソッドは、不正入力シーケンスやマップ不可文字シーケンスを、この文字セットのデフォルトの置換文字列で置き換えます。 デコード処理をより強力に制御する必要がある場合、 CharsetDecoderクラスを使用する必要があります。文字列の構成中にバイト配列が変更された場合、文字列の内容は指定されません。 - パラメータ:
- bytes- 文字列に復号化されるバイト
- charset-- bytesの復号化に使用される文字セット
- 導入されたバージョン:
- 1.6
 
- 
Stringpublic String(byte[] bytes, int offset, int length) default charsetを使用して、指定したバイトのサブ配列をデコードすることによって、新しいStringを構成します。 新しいStringの長さは文字セットによって変化するため、部分配列長と一致しないことがあります。指定されたバイトがデフォルトの文字セットで無効な場合、このコンストラクタの動作は指定されません。 デコード処理をより強力に制御する必要がある場合、 CharsetDecoderクラスを使用する必要があります。文字列の構成中にバイト配列が変更された場合、文字列の内容は指定されません。 - パラメータ:
- bytes- 文字列に復号化されるバイト
- offset- 復号化される先頭バイトのインデックス
- length- 復号化するバイト数
- 例外:
- IndexOutOfBoundsException-- offsetが負の場合、- lengthが負の場合、または- offsetが- bytes.length - lengthより大きい場合
- 導入されたバージョン:
- 1.1
 
- 
Stringpublic String(byte[] bytes) default charsetを使用して指定したバイト配列をデコードすることによって、新しいStringを作成します。 新しいStringの長さは文字セットによって変化するため、バイト配列長と一致しないことがあります。指定されたバイトがデフォルトの文字セットで無効な場合、このコンストラクタの動作は指定されません。 デコード処理をより強力に制御する必要がある場合、 CharsetDecoderクラスを使用する必要があります。文字列の構成中にバイト配列が変更された場合、文字列の内容は指定されません。 - パラメータ:
- bytes- 文字列に復号化されるバイト
- 導入されたバージョン:
- 1.1
 
- 
Stringpublic String(StringBuffer buffer) 文字列バッファ引数に現在含まれている文字列を持つ新しい文字列を構築します。 文字列バッファの内容がコピーされます。コピー後に文字列バッファが変更されても、新しく作成された文字列には影響しません。- パラメータ:
- buffer-A- StringBuffer
 
- 
Stringpublic String(StringBuilder builder) 文字列ビルダー引数に現在含まれている文字列を持つ新しい文字列を割り当てます。 文字列ビルダーの内容がコピーされます。コピー後に文字列ビルダーが変更されても、新しく作成された文字列には影響しません。文字列の構成中に StringBuilderが変更された場合、文字列の内容は指定されません。このコンストラクタの提供目的は、 StringBuilderに移行しやすくすることです。toStringメソッドを使って文字列ビルダーから文字列を取得することは、処理が高速になるので一般的に推奨されています。- パラメータ:
- builder-A- StringBuilder
- 導入されたバージョン:
- 1.5
 
 
- 
- 
メソッドの詳細- 
lengthpublic int length()この文字列の長さを戻します。 長さは文字列内のUnicodeコード単位の数に等しくなります。- 定義:
- length、インタフェース- CharSequence
- 戻り値:
- このオブジェクトによって表される文字シーケンスの長さ。
 
- 
isEmptypublic boolean isEmpty()length()が0の場合にのみ、trueを返します。- 定義:
- インタフェースCharSequence内のisEmpty
- 戻り値:
- length()が- 0の場合は- true、それ以外の場合は- false
- 導入されたバージョン:
- 1.6
 
- 
charAtpublic char charAt(int index) 指定されたインデックスのchar値を返します。 インデックスの範囲は0からlength() - 1までです。 配列のインデックス付けの場合と同じように、シーケンスの最初のcharのインデックスは0、次の文字のインデックスは1と続きます。インデックスで指定された char値がサロゲートの場合、サロゲート値が返されます。- 定義:
- charAt、インタフェース- CharSequence
- パラメータ:
- index-- char値のインデックス。
- 戻り値:
- 文字列内の指定されたインデックス位置にあるchar値。 最初のchar値のインデックスが0になる。
- 例外:
- IndexOutOfBoundsException-- index引数が負の値、または文字列の長さと同じかこれより大きい値の場合。
 
- 
codePointAtpublic int codePointAt(int index) 指定されたインデックス位置の文字(Unicodeコード・ポイント)を返します。 索引は、char値(Unicodeコード単位)およびその範囲を0からlength()- 1に参照します。指定されたインデックス位置の指定された char値が上位サロゲート範囲に含まれており、それに続くインデックスがStringの長さ未満であり、かつそのインデックス位置のchar値が下位サロゲート範囲に含まれている場合、このサロゲート・ペアに対応する補助コード・ポイントが返されます。 それ以外の場合は、指定されたインデックスにあるchar値が返されます。- パラメータ:
- index-- char値へのインデックス
- 戻り値:
- 指定されたindexにある文字のコード・ポイント値
- 例外:
- IndexOutOfBoundsException-- index引数が負の値、または文字列の長さと同じかこれより大きい値の場合。
- 導入されたバージョン:
- 1.5
 
- 
codePointBeforepublic int codePointBefore(int index) 指定されたインデックスの前の文字(Unicodeコード・ポイント)を返します。 インデックスはchar値(Unicodeコード単位)を参照し、その範囲は1-lengthになります。(index - 1)のchar値が下位サロゲート範囲に含まれており、(index - 2)が負でなく、かつ(index - 2)のchar値が上位サロゲートに含まれている場合、そのサロゲート・ペアの補助コード・ポイント値が返されます。index - 1のchar値が、ペアになっていない下位サロゲートであるか、または上位サロゲートである場合、そのサロゲート値が返されます。- パラメータ:
- index- 返すべきコード・ポイントの直後のインデックス
- 戻り値:
- 指定されたインデックスの前にあるUnicodeコード・ポイント値。
- 例外:
- IndexOutOfBoundsException-- index引数が1未満であるか、またはこの文字列の長さより大きい値の場合。
- 導入されたバージョン:
- 1.5
 
- 
codePointCountpublic int codePointCount(int beginIndex, int endIndex) このStringの指定されたテキスト範囲のUnicodeコード・ポイントの数を返します。 テキスト範囲は、指定されたbeginIndexからインデックスendIndex - 1の位置のcharまでです。 したがって、テキスト範囲の長さ(char数)は、endIndex-beginIndexになります。 テキスト範囲内でペアになっていないサロゲートは、それぞれ1つのコード・ポイントとして数えられます。- パラメータ:
- beginIndex- テキスト範囲内の最初の- charへのインデックス。
- endIndex- テキスト範囲内の最後の- charの直後のインデックス。
- 戻り値:
- 指定されたテキスト範囲内のUnicodeコード・ポイントの数
- 例外:
- IndexOutOfBoundsException-- beginIndexが負であるか、- endIndexがこの- Stringの長さより大きいか、あるいは- beginIndexが- endIndexより大きい場合。
- 導入されたバージョン:
- 1.5
 
- 
offsetByCodePointspublic int offsetByCodePoints(int index, int codePointOffset) このString内で、指定されたindexからcodePointOffsetコード・ポイント分だけオフセットされた位置のインデックスを返します。indexとcodePointOffsetで指定されるテキスト範囲内でペアになっていないサロゲートは、それぞれ1つのコード・ポイントとして数えられます。- パラメータ:
- index- オフセットされるインデックス
- codePointOffset- オフセット(コード・ポイント数)
- 戻り値:
- このString内でのインデックス
- 例外:
- IndexOutOfBoundsException-- indexがこの- Stringの長さより負または大きい場合、または- codePointOffsetが正で、- indexで始まる部分文字列が- codePointOffsetコード・ポイントより少ない場合、または- codePointOffsetが負で、- indexより前の部分文字列が- codePointOffsetコード・ポイントの絶対値より少ない場合。
- 導入されたバージョン:
- 1.5
 
- 
getCharspublic 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- コピー先の配列内での開始座標。
- 例外:
- 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では、default charsetを使用するgetBytes()メソッドを使用することをお薦めします。この文字列から、転送先のバイト配列に文字をコピーします。 各バイトは対応する文字の下位8ビットを受け取ります。 各文字の上位8ビットはコピーされず、転送されることはありません。コピーする最初の文字はインデックス srcBegin、コピーする最後の文字はインデックスsrcEnd-1になります。 コピーする文字の合計数はsrcEnd-srcBeginです。 文字をバイトに変換したものがdstの部分配列にコピーされますが、その部分配列の始点のインデックスはdstBeginで、終点のインデックスは次のようになります。dstBegin + (srcEnd-srcBegin) - 1- パラメータ:
- srcBegin- コピー対象文字列内の最初の文字のインデックス
- srcEnd- コピー対象文字列内の最後の文字のあとのインデックス
- dst- コピー先配列
- dstBegin- コピー先の配列内での開始オフセット
- 例外:
- IndexOutOfBoundsException- 次のどれかに当てはまる場合。-  srcBeginが負である
-  srcBeginがsrcEndより大きい
-  srcEndがこの文字列の長さより大きい
-  dstBeginが負である
-  dstBegin+(srcEnd-srcBegin)がdst.lengthより大きい
 
-  
 
- 
getBytespublic byte[] getBytes(String charsetName) throws UnsupportedEncodingException 指定された文字セットを使用してこのStringをバイト・シーケンスにエンコードし、結果を新規バイト配列に格納します。指定された文字セットでこの文字列をエンコードできない場合、このメソッドの動作は指定されません。 エンコード処理をより強力に制御する必要がある場合は、 CharsetEncoderクラスを使用してください。- パラメータ:
- charsetName- サポートされているcharsetの名前
- 戻り値:
- 結果のバイト配列
- 例外:
- UnsupportedEncodingException- 指定された文字セットがサポートされていない場合
- 導入されたバージョン:
- 1.1
 
- 
getBytespublic byte[] getBytes(Charset charset) 指定された文字セットを使用してこのStringをバイト・シーケンスに符号化し、結果を新規バイト配列に格納します。このメソッドは、不正入力シーケンスやマップ不可文字シーケンスを、この文字セットのデフォルトの置換バイト配列で置き換えます。 エンコード処理をより強力に制御する必要がある場合は、 CharsetEncoderクラスを使用してください。- パラメータ:
- charset-- Stringのエンコード化に使用されるCharset
- 戻り値:
- 結果のバイト配列
- 導入されたバージョン:
- 1.6
 
- 
getBytespublic byte[] getBytes()default charsetを使用してこのStringをバイトのシーケンスにエンコードし、結果を新しいバイト配列に格納します。デフォルトの文字セットでこの文字列をエンコード化できない場合、このメソッドの動作は指定されません。 エンコード処理をより強力に制御する必要がある場合は、 CharsetEncoderクラスを使用してください。- 戻り値:
- 結果のバイト配列
- 導入されたバージョン:
- 1.1
 
- 
equals
- 
contentEqualspublic boolean contentEquals(StringBuffer sb) この文字列と指定されたStringBufferを比較します。 結果がtrueになるのは、このStringが指定されたStringBufferと同じ文字シーケンスを表す場合だけです。 このメソッドは、StringBufferとの同期をとります。より詳細な文字列の比較については、 Collatorを参照してください。- パラメータ:
- sb- この- Stringと比較する- StringBuffer
- 戻り値:
- このStringが、指定されたStringBufferと同じ文字シーケンスを表す場合はtrue。そうでない場合はfalse
- 導入されたバージョン:
- 1.4
 
- 
contentEqualspublic boolean contentEquals(CharSequence cs) この文字列と指定されたCharSequenceを比較します。 このStringが、指定されたシーケンスと同じ文字値シーケンスを表す場合にだけ、結果がtrueになります。CharSequenceがStringBufferである場合、このメソッドはそれとの同期をとるので注意してください。より詳細な文字列の比較については、 Collatorを参照してください。- パラメータ:
- cs- この- Stringと比較されるシーケンス
- 戻り値:
- このStringが、指定されたシーケンスと同じ文字値シーケンスを表す場合はtrue。そうでない場合はfalse
- 導入されたバージョン:
- 1.5
 
- 
equalsIgnoreCasepublic 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コード・ポイントは同じ(
- 
compareTopublic 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より大きい値。
 
- 
compareToIgnoreCasepublic int compareToIgnoreCase(String str) 大文字と小文字の区別なしで、2つの文字列を辞書的に比較します。 このメソッドは、Unicodeコード・ポイントごとにCharacter.toLowerCase(Character.toUpperCase(int))をコールすることで大/小文字の違いが解消された、大/小文字が区別されたバージョンの文字列を使用してcompareToをコールする場合の符号を持つ整数を戻します。このメソッドはロケールを考慮しないので、一部のロケールでは、正しい順序に並べられないことがあります。 Collatorクラスは、ロケール依存の比較を提供します。- パラメータ:
- str- 比較対象の- String。
- 戻り値:
- 大文字と小文字の区別なしで、指定されたStringがこのStringより大きい場合は負の整数、同じ場合は0、小さい場合は正の整数。
- 導入されたバージョン:
- 1.2
- 関連項目:
 
- 
regionMatchespublic 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。
 
- 
regionMatchespublic 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コード単位 - 16bit- char値)の文字数。
- 戻り値:
- この文字列の指定された部分領域が文字列引数の指定された部分領域と一致する場合はtrue、そうでない場合はfalse。 一致した場合に、大文字と小文字が区別されているかどうかは引数ignoreCaseによって決まる。
- 関連項目:
 
- 
startsWithpublic boolean startsWith(String prefix, int toffset) この文字列の指定されたインデックス以降の部分文字列が、指定された接頭辞で始まるかどうかを判定します。- パラメータ:
- prefix- 接頭辞。
- toffset- この文字列の比較を開始する位置。
- 戻り値:
- 引数によって表される文字シーケンスが、インデックスtoffsetで始まるこのオブジェクトの部分文字列の接頭辞である場合はtrue、そうでない場合はfalse。toffsetが負の値の場合、あるいはStringオブジェクトの長さより大きい場合、結果はfalse。そうでない場合は、結果は次の式の結果と同じthis.substring(toffset).startsWith(prefix)
 
- 
startsWithpublic boolean startsWith(String prefix) この文字列が、指定された接頭辞で始まるかどうかを判定します。- パラメータ:
- prefix- 接頭辞。
- 戻り値:
- 引数によって表される文字シーケンスが、この文字列によって表される文字シーケンスの接頭辞である場合はtrue、そうでない場合はfalse。 引数が空の文字列の場合や、equals(Object)メソッドによる判定においてこのStringオブジェクトに等しい場合にもtrueが返される。
- 導入されたバージョン:
- 1.0
 
- 
endsWithpublic boolean endsWith(String suffix) この文字列が、指定された接尾辞で終るかどうかを判定します。- パラメータ:
- suffix- 接尾辞。
- 戻り値:
- 引数によって表される文字シーケンスが、このオブジェクトによって表される文字シーケンスの接尾辞である場合はtrue、そうでない場合はfalse。 引数が空の文字列の場合や、equals(Object)メソッドによる判定においてこのStringオブジェクトに等しい場合の結果はtrueになる。
 
- 
hashCode
- 
indexOfpublic 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。
 
- 
indexOfpublic 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コード単位)で指定されます。- APIのノート:
- たとえば、substring(int)とは異なり、fromIndexが有効な範囲外の場合、このメソッドは例外をスローしません。 かわりに、fromIndexが文字列の長さよりも大きい場合は -1を返します。 この結果は単独で、文字列にchの正規の欠落と区別できません。 より厳密な動作が必要な場合は、かわりにindexOf(int, int, int)を考慮する必要があります。 たとえば、Stringsでは、fromIndexが文字列の長さよりも大きい場合、または負の場合、s.indexOf(ch, fromIndex, s.length())がスローされます。
- パラメータ:
- ch- 文字(Unicodeコード・ポイント)。
- fromIndex- 検索開始位置のインデックス。
- 戻り値:
- このオブジェクトによって表される文字列で、指定された文字がfromIndexと同じかこれより大きいインデックス位置にある場合は、最初に出現した位置のインデックス。文字がない場合は-1。
 
- 
indexOfpublic int indexOf(int ch, int beginIndex, int endIndex) beginIndexで検索を開始し、endIndexの前に停止して、指定した文字の最初の出現の文字列内の索引を返します。値が chの文字が、このStringオブジェクトによって表される文字シーケンスで、beginIndexより小さくendIndexより小さい索引で発生した場合は、そのような最初の出現のインデックスが返されます。chの値が0から0xFFFFの範囲にある場合、次の式がtrueとなるような最小値kが返されます。
 がtrueであることで証明されます。(this.charAt(k) == ch) && (beginIndex <= k < endIndex) chがほかの値の場合、次の式がtrueとなるような最小値kです。
 がtrueであることで証明されます。 いずれの場合も、位置(this.codePointAt(k) == ch) && (beginIndex <= k < endIndex) beginIndex以降および位置endIndexの前にあるこの文字列にそのような文字が出現しない場合、-1が返されます。すべてのインデックスは、 char値(Unicodeコード単位)で指定されます。- パラメータ:
- ch- 文字(Unicodeコード・ポイント)。
- beginIndex- (included)から検索を開始する索引。
- endIndex- (除外)で検索を停止する索引。
- 戻り値:
- このオブジェクトによって表される文字シーケンス内で最初に出現する文字のインデックス。beginIndex以上、endIndex未満、または文字が発生しない場合は-1です。
- 例外:
- StringIndexOutOfBoundsException-- beginIndexが負の場合、または- endIndexがこの- Stringオブジェクトの長さよりも大きい場合、または- beginIndexがこの- endIndexより大きい場合。
- 導入されたバージョン:
- 21
 
- 
lastIndexOfpublic 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。
 
- 
lastIndexOfpublic 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。
 
- 
indexOfpublic int indexOf(String str) この文字列内で、指定された部分文字列が最初に出現する位置のインデックスを返します。返される索引は、次の最小値 kです:
 そのようなthis.startsWith(str, k)kの値が存在しない場合、-1が返されます。- パラメータ:
- str- 検索対象の部分文字列。
- 戻り値:
- 指定された部分文字列が最初に出現する位置のインデックス。そのような出現箇所がない場合は-1。
 
- 
indexOfpublic int indexOf(String str, int fromIndex) 指定されたインデックス以降で、指定された部分文字列がこの文字列内で最初に出現する位置のインデックスを返します。返される索引は、次の最小値 kです:
 そのようなk >= Math.min(fromIndex, this.length()) && this.startsWith(str, k)kの値が存在しない場合、-1が返されます。- APIのノート:
- たとえば、substring(int)とは異なり、fromIndexが有効な範囲外の場合、このメソッドは例外をスローしません。 かわりに、fromIndexが文字列の長さよりも大きい場合は -1を返します。 この結果は単独で、文字列にstrの正規の欠落と区別できません。 より厳密な動作が必要な場合は、かわりにindexOf(String, int, int)を考慮する必要があります。Stringsおよび空でないstrでは、たとえば、fromIndexが文字列の長さよりも大きいか、負の場合、s.indexOf(str, fromIndex, s.length())はスローされます。
- パラメータ:
- str- 検索対象の部分文字列。
- fromIndex-検索開始位置のインデックス。
- 戻り値:
- 指定されたインデックス以降で、指定された部分文字列が最初に出現する位置のインデックス。そのような出現箇所がない場合は-1。
 
- 
indexOfpublic int indexOf(String str, int beginIndex, int endIndex) 指定されたthis文字列の索引範囲内で、指定された部分文字列の最初の出現のインデックスを返します。このメソッドは、呼出しの1つと同じ結果を返します s.substring(beginIndex, endIndex).indexOf(str) + beginIndexindexOf(String)によって返される索引が負でない場合は-1を返し、それ以外の場合は-1を返します。 (ただし、部分文字列はインスタンス化されません。)- パラメータ:
- str- 検索対象の部分文字列。
- beginIndex- (included)から検索を開始する索引。
- endIndex- (除外)で検索を停止する索引。
- 戻り値:
- 指定された索引範囲内で指定された部分文字列の最初の出現のインデックス。そのような出現がない場合は-1。
- 例外:
- StringIndexOutOfBoundsException-- beginIndexが負の場合、または- endIndexがこの- Stringオブジェクトの長さよりも大きい場合、または- beginIndexがこの- endIndexより大きい場合。
- 導入されたバージョン:
- 21
 
- 
lastIndexOfpublic int lastIndexOf(String str) この文字列内で、指定された部分文字列が最後に出現する位置のインデックスを返します。 空の文字列「」が最後に出現する位置は、this.length()と見なされます。返される索引は、次の最大値 kです:
 そのようなthis.startsWith(str, k)kの値が存在しない場合、-1が返されます。- パラメータ:
- str- 検索対象の部分文字列。
- 戻り値:
- 指定された部分文字列が最後に出現する位置のインデックス。そのような出現箇所がない場合は-1。
 
- 
lastIndexOfpublic int lastIndexOf(String str, int fromIndex) この文字列内で、指定された部分文字列が最後に出現する位置のインデックスを返します(検索は指定されたインデックスから開始され、先頭方向に行われる)。返される索引は、次の最大値 kです:
 そのようなk <= Math.min(fromIndex, this.length()) && this.startsWith(str, k)kの値が存在しない場合、-1が返されます。- パラメータ:
- str- 検索対象の部分文字列。
- fromIndex- 検索開始位置のインデックス。
- 戻り値:
- 指定された部分文字列が最後に出現する位置のインデックス(指定されたインデックスから逆方向に検索を行う)。そのような出現箇所がない場合は-1。
 
- 
substringpublic String substring(int beginIndex) この文字列の部分文字列である文字列を返します。 部分文字列は指定されたインデックスで始まり、この文字列の最後までになります。例 "unhappy".substring(2) returns "happy" "Harbison".substring(3) returns "bison" "emptiness".substring(9) returns "" (an empty string) - パラメータ:
- beginIndex- 開始インデックス(この値を含む)。
- 戻り値:
- 指定された部分文字列。
- 例外:
- IndexOutOfBoundsException-- beginIndexが負の値の場合、あるいはこの- Stringオブジェクトの長さより大きい場合。
 
- 
substringpublic 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- 終了インデックス(この値を含まない)。
- 戻り値:
- 指定された部分文字列。
- 例外:
- IndexOutOfBoundsException-- beginIndexが負であるか、- endIndexがこの- Stringオブジェクトの長さより大きいか、あるいは- beginIndexが- endIndexより大きい場合。
 
- 
subSequencepublic CharSequence subSequence(int beginIndex, int endIndex) このシーケンスのサブシーケンスである文字シーケンスを返します。次のフォームのメソッド呼出しは、 
 次の呼び出しと正確に同じ動作になります。str.subSequence(begin, end) str.substring(begin, end) - 定義:
- subSequence、インタフェース- CharSequence
- APIのノート:
- このメソッドが定義されたのは、StringクラスがCharSequenceインタフェースを実装できるようにするためです。
- パラメータ:
- beginIndex- 開始インデックス(この値を含む)。
- endIndex- 終了インデックス(この値を含まない)。
- 戻り値:
- 指定されたサブシーケンス。
- 例外:
- 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。
- 戻り値:
- このオブジェクトの文字列の後に文字列引数で表される文字を連結したものを表す文字列。
 
- 
replacepublic 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に置換することによって生成された文字列。
 
- 
matchespublic boolean matches(String regex) この文字列が、指定された正規表現と一致するかどうかを判定します。このフォームのメソッド呼び出しstr .matches(regex)では、次の式と正確に同じ結果が得られます。Pattern.matches(regex, str)- パラメータ:
- regex- この文字列との一致を判定する正規表現
- 戻り値:
- この文字列が指定された正規表現と一致する場合にだけ、trueが返される
- 例外:
- PatternSyntaxException- 正規表現の構文が無効な場合
- 導入されたバージョン:
- 1.4
- 関連項目:
 
- 
containspublic 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
- 例外:
- 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
- 例外:
- PatternSyntaxException- 正規表現の構文が無効な場合
- 導入されたバージョン:
- 1.4
- 関連項目:
 
- 
replacepublic 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"の結果を示します。正規表現 制限 結果 : 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- 結果のしきい値(上記を参照)
- 戻り値:
- この文字列を指定された正規表現に一致する位置で分割して計算された文字列の配列
- 例外:
- PatternSyntaxException- 正規表現の構文が無効な場合
- 導入されたバージョン:
- 1.4
- 関連項目:
 
- 
splitWithDelimiters指定された正規表現の一致を囲むこの文字列を分割し、文字列と一致する区切り文字の両方を返します。この文字列の各部分文字列を含むメソッドにより返される配列は、指定された式に一致する別の部分文字列、またはその文字列の最後で終了します。 各部分文字列の直後に、指定された式と一致する部分列(デリミタ)が続き、最後の部分文字列を「除き」、その後に何も続かない。 配列内の部分文字列と区切り文字は、入力での出現順序になります。 入力されたどの部分とも式が一致しない場合、配列は1つの要素(つまり、この文字列)だけを保持します。 この文字列の先頭に、正の幅のマッチがある場合、結果の配列の先頭に、空の先頭部分文字列が含まれます。 最初にゼロ幅が一致しても、そのような空の先頭部分文字列や空の区切り文字は生成されません。 limitパラメータは、このパターンの適用回数を制御するため、結果となる配列の長さに影響を及ぼします。- limitが正の場合、パターンは最大limit - 1回適用され、 配列の長さは2×limit - 1より大きくならず、配列の最後のエントリには、最後に一致したデリミタを超えるすべての入力が含まれます。
- limitがゼロの場合、パターンは可能なかぎり何度も適用され、配列には任意の長さを指定でき、後続の空の文字列は破棄されます。
- limitが負の場合、パターンは可能なかぎり適用され、配列の長さは任意になります。
 たとえば、入力 "boo:::and::foo"は、次のパラメータを使用して結果を生成します:正規表現 制限 結果 :+ 2 { "boo", ":::", "and::foo" }5 { "boo", ":::", "and", "::", "foo" }-1 { "boo", ":::", "and", "::", "foo" }o 5 { "b", "o", "", "o", ":::and::f", "o", "", "o", "" }-1 { "b", "o", "", "o", ":::and::f", "o", "", "o", "" }0 { "b", "o", "", "o", ":::and::f", "o", "", "o" }- APIのノート:
- str. splitWithDelimiters(regex,n)という形式のこのメソッドを呼び出すと、式と同じ結果になりますPattern.compile(regex).splitWithDelimiters(str, n)
- パラメータ:
- regex- 正規表現の区切り
- limit- 結果のしきい値(上記を参照)
- 戻り値:
- この文字列を指定された正規表現の一致を分割して計算された文字列の配列、置換部分文字列および一致デリミタ
- 導入されたバージョン:
- 21
 
- 
splitこの文字列を、指定された正規表現に一致する位置で分割します。このメソッドの動作は、2つの引数を取る splitメソッドを、指定された式および制限引数ゼロを指定して呼び出した場合と同じになります。 つまり、結果として得られる配列には後続の空の文字列は含まれません。たとえば、次の式が指定された場合の、文字列 "boo:and:foo"の結果を示します。正規表現 結果 : { "boo", "and", "foo" }o { "b", "", ":and:f" }- パラメータ:
- regex- 正規表現の区切り
- 戻り値:
- この文字列を指定された正規表現に一致する位置で分割して計算された文字列の配列
- 例外:
- PatternSyntaxException- 正規表現の構文が無効な場合
- 導入されたバージョン:
- 1.4
- 関連項目:
 
- 
joinpublic 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
- 例外:
- NullPointerException-- delimiterまたは- elementsが- nullである場合
- 導入されたバージョン:
- 1.8
- 関連項目:
 
- 
joinpublic 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
- 例外:
- 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 (all) French Fries french fries String内の文字すべてを小文字に変換 (all) ΙΧΘΥΣ ιχθυσ String内の文字すべてを小文字に変換 - パラメータ:
- locale- このロケールの大文字小文字変換ルールを使用する
- 戻り値:
- 小文字に変換されたString。
- 導入されたバージョン:
- 1.1
- 関連項目:
 
- 
toLowerCasepublic String toLowerCase()デフォルト・ロケールのルールを使って、このString内のすべての文字を小文字に変換します。 このメソッドはtoLowerCase(Locale.getDefault())と同等です。- APIのノート:
- このメソッドはロケールに依存するため、ロケールを個別に解釈することを意図した文字列に使用すると、予期しない結果が発生する可能性があります。 例として、プログラミング言語識別子、プロトコル・キー、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 (all) \u00df \u0053 \u0053 小文字のシャープs -> SSの2文字 (all) Fahrvergnügen FAHRVERGNÜGEN - パラメータ:
- locale- このロケールの大文字小文字変換ルールを使用する
- 戻り値:
- 大文字に変換されたString。
- 導入されたバージョン:
- 1.1
- 関連項目:
 
- 
toUpperCasepublic String toUpperCase()デフォルト・ロケールのルールを使って、このString内のすべての文字を大文字に変換します。 このメソッドは、toUpperCase(Locale.getDefault())と同等です。- APIのノート:
- このメソッドはロケールに依存するため、ロケールを個別に解釈することを意図した文字列に使用すると、予期しない結果が発生する可能性があります。 例として、プログラミング言語識別子、プロトコル・キー、HTMLタグがあります。 たとえば、トルコ語ロケールの"title".toUpperCase()は"T\u0130TLE"を返します。ここで、「\u0130」は上に点が付いたラテン大文字Iの文字です。 ロケールに依存しない文字列の正しい結果を取得するには、toUpperCase(Locale.ROOT)を使用します。
- 戻り値:
- 大文字に変換されたString。
- 関連項目:
 
- 
trimpublic String trim()値がこの文字列で、先頭と末尾のすべてのスペースが削除され、コード・ポイントが'U+0020'(空白文字)以下の文字でスペースが定義されている文字列を返します。この Stringオブジェクトが空の文字シーケンスを表しているか、このStringオブジェクトが表す文字シーケンスの最初と最後の文字が両方とも(上で定義したように)のスペースではないコードを持っている場合は、このStringオブジェクトへの参照が返されます。それ以外の場合、この文字列のすべての文字が空白(上で定義したように)であると、空の文字列を表す Stringオブジェクトが返されます。そうしない場合は、kを文字列の最初の文字のインデックスにし、そのコードが空白である(上で定義したように)ではなく、mをその文字列の最後の文字のインデックスにします(コードが空白(上で定義したように)ではない)。 インデックスkの文字で始まってインデックスmの文字で終わるこの文字列の部分文字列、つまり this.substring(k, m + 1)の部分文字列を表すStringオブジェクトが返されます。このメソッドを使用して、文字列の先頭と末尾から(上で定義したように)のスペースをトリミングできます。 - 戻り値:
- 値がこの文字列で、先頭と末尾のすべてのスペースが削除されているか、先頭または末尾のスペースがない場合は文字列。
 
- 
strippublic String strip()値がこの文字列であり、先頭と末尾のすべてのwhite spaceが削除されている文字列を返します。この Stringオブジェクトが空の文字列を表している場合、またはこの文字列内のすべてのコード・ポイントがwhite spaceである場合は、空の文字列が返されます。それ以外の場合は、最初のコード・ポイントで始まる文字列の部分文字列を返します。最初のコード・ポイントはwhite spaceではなく、white spaceではない最後のコード・ポイントを含みます。 このメソッドを使用して、文字列の先頭と末尾からwhite spaceを削除できます。 - 戻り値:
- 値がこの文字列で、先頭と末尾の空白がすべて削除されている文字列
- 導入されたバージョン:
- 11
- 関連項目:
 
- 
stripLeadingpublic String stripLeading()すべての先行white spaceが削除されて、値がこの文字列である文字列を返します。この Stringオブジェクトが空の文字列を表している場合、またはこの文字列内のすべてのコード・ポイントがwhite spaceである場合は、空の文字列が返されます。それ以外の場合は、最初のコード・ポイントで始まる文字列の部分文字列を返します。最初のコード・ポイントはwhite spaceではなく、この文字列の最後のコード・ポイントまでです。 このメソッドを使用すると、文字列の先頭からwhite spaceをトリミングできます。 - 戻り値:
- 値がこの文字列で、先頭に空白がすべて削除されている文字列
- 導入されたバージョン:
- 11
- 関連項目:
 
- 
stripTrailingpublic String stripTrailing()値がこの文字列で、すべての後続white spaceが削除されている文字列を返します。この Stringオブジェクトが空の文字列を表す場合、またはこの文字列のすべての文字がwhite spaceの場合、空の文字列が返されます。それ以外の場合は、この文字列の先頭のコード・ポイントから開始し、white spaceではない最後のコード・ポイントまでの部分文字列を返します。 このメソッドを使用すると、文字列の末尾からwhite spaceをトリミングできます。 - 戻り値:
- 値がこの文字列で、後続の空白がすべて削除されている文字列
- 導入されたバージョン:
- 11
- 関連項目:
 
- 
isBlankpublic 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
 
- 
indentpublic 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
- 関連項目:
 
- 
stripIndentpublic 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> 次に、「最小インデント」 (min)は次のように決定されます: - 空白以外の各行の( - isBlank()により定義)では、先頭のwhite space文字がカウントされます。
- 最後の行の先頭のwhite space文字も、「ブランク」の場合でもカウントされます。 
 min値はこれらのカウントの最小値です。 non-blankの各行で、minの主要なwhite space文字が削除され、後続のwhite space文字が削除されます。 「空白」の行は、空の文字列で置換されます。 最後に、LF文字 "\n"(U+000A)を使用して行が新しい文字列に結合されます。- APIのノート:
- このメソッドの主な目的は、行のブロックを左にできるだけ奥まで移動しながら、相対的なインデントを保持することです。 そのため、最小インデントされていた行の先頭はwhite spaceではありません。 結果には、この文字列と同じ数の行終端文字が含まれます。 この文字列が行末で終わる場合、結果は行末記号で終わります。
- 実装要件:
- このメソッドでは、すべてのwhite space文字が同じ幅で扱われます。 すべての行のインデントがすべて同じ文字シーケンスで一貫して構成されているかぎり、前述の結果は同じになります。
- 戻り値:
- 偶然のインデントが削除された文字列と正規化された行末
- 導入されたバージョン:
- 15
- 関連項目:
 
- 
translateEscapespublic 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コンパイラによって変換され、文字列リテラル仕様の一部ではありません。
- 戻り値:
- エスケープ・シーケンスが変換された文字列。
- 例外:
- IllegalArgumentException- エスケープ・シーケンスが不正な場合。
- Java言語仕様を参照してください:
- 
3.10.7 エスケープ・シーケンス
- 導入されたバージョン:
- 15
 
- 
transform
- 
toStringpublic String toString()このオブジェクト(すでに文字列である)自身が返されます。- 定義:
- toString、インタフェース- CharSequence
- オーバーライド:
- toString、クラス- Object
- 戻り値:
- 文字列自身。
 
- 
charspublic IntStream chars()このシーケンスのchar値をゼロ拡張したintを含むストリームを返します。 サロゲート・コード・ポイントにマップするすべてのcharは、解釈されずに渡されます。- 定義:
- chars、インタフェース- CharSequence
- 戻り値:
- このシーケンスのchar値のIntStream
- 導入されたバージョン:
- 9
 
- 
codePointspublic IntStream codePoints()このシーケンスからコード・ポイント値のストリームを返します。 そのシーケンスで検出されるサロゲート・ペアがすべて、Character.toCodePointを使用した場合のように結合され、結果がストリームに渡されます。 他のすべてのコード(通常のBMP文字、ペアになっていないサロゲート、未定義のコード単位など)はint値にゼロ拡張されたあと、ストリームに渡されます。- 定義:
- インタフェースCharSequence内のcodePoints
- 戻り値:
- このシーケンスからのUnicodeコード・ポイントのIntStream
- 導入されたバージョン:
- 9
 
- 
toCharArraypublic char[] toCharArray()この文字列を新しい文字配列に変換します。- 戻り値:
- 新しく割り当てられた文字配列。長さはこの文字列の長さと同じで、内容はこの文字列によって表される文字シーケンスが格納されるように初期化されている。
 
- 
format指定された書式の文字列と引数を使って、書式付き文字列を返します。常に使用されるロケールは、 FORMATカテゴリを指定してLocale.getDefault(Locale.Category)によって返されるロケールです。- パラメータ:
- format- 書式文字列
- args- 書式文字列の書式指示子により参照される引数。 引数が書式指定子よりも多い場合、余分な引数は無視されます。 引数の数は変数で、0(ゼロ)の場合があります。 引数の最大数は、「Java Virtual Machine仕様」で定義されているJava配列の最大サイズによって制限されます。 引数が- nullの場合、動作は変換に応じて異なる。
- 戻り値:
- フォーマットされた文字列
- 例外:
- IllegalFormatException- 書式文字列が、不正な構文、所定の引数と互換性がない書式指示子、書式文字列に指定された不適切な引数、またはほかの不正な条件を含む場合。 考えられるすべての書式エラーの仕様については、フォーマッタ・クラス仕様の「詳細」セクションを参照。
- 導入されたバージョン:
- 1.5
- 関連項目:
 
- 
format指定されたロケール、書式文字列、および引数を使って、フォーマットされた文字列を返します。- パラメータ:
- l- 書式設定時に適用するlocale。- lが- nullの場合、ローカリゼーションは適用されない。
- format- 書式文字列
- args- 書式文字列の書式指示子により参照される引数。 引数が書式指定子よりも多い場合、余分な引数は無視されます。 引数の数は変数で、0(ゼロ)の場合があります。 引数の最大数は、「Java Virtual Machine仕様」で定義されているJava配列の最大サイズによって制限されます。 引数が- nullの場合、動作は変換に応じて異なる。
- 戻り値:
- フォーマットされた文字列
- 例外:
- IllegalFormatException- 書式文字列が、不正な構文、所定の引数と互換性がない書式指示子、書式文字列に指定された不適切な引数、またはほかの不正な条件を含む場合。 考えられるすべての書式エラーの仕様については、フォーマッタ・クラス仕様の「詳細」セクションを参照
- 導入されたバージョン:
- 1.5
- 関連項目:
 
- 
formatted
- 
valueOf
- 
valueOfpublic static String valueOf(char[] data) char配列引数の文字列表現を返します。 文字配列の内容がコピーされます。コピー後にその文字配列が変更されても、返される文字列には影響しません。文字列の構成中に文字配列が変更された場合、文字列の内容は指定されません。 - パラメータ:
- data- 文字配列。
- 戻り値:
- 文字配列の文字が格納されているString。
 
- 
valueOfpublic static String valueOf(char[] data, int offset, int count) char配列引数の特定の部分配列の文字列表現を返します。offset引数は部分配列の最初の文字のインデックスを表します。count引数は部分配列の長さを表します。 部分配列の内容がコピーされます。コピー後に文字配列が変更されても、返される文字列には影響しません。文字列の構成中に文字配列が変更された場合、文字列の内容は指定されません。 - パラメータ:
- data- 文字配列。
- offset- 部分配列の初期オフセット。
- count- 部分配列の長さ。
- 戻り値:
- 文字配列内の指定された部分配列の文字が格納されているString。
- 例外:
- IndexOutOfBoundsException-- offsetが負の値の場合、- countが負の値の場合、あるいは- offset+countが- data.lengthよりも大きい場合。
 
- 
copyValueOfpublic static String copyValueOf(char[] data, int offset, int count) - パラメータ:
- data- 文字配列。
- offset- 部分配列の初期オフセット。
- count- 部分配列の長さ。
- 戻り値:
- 文字配列内の指定された部分配列の文字が格納されているString。
- 例外:
- IndexOutOfBoundsException-- offsetが負の値の場合、- countが負の値の場合、あるいは- offset+countが- data.lengthよりも大きい場合。
 
- 
copyValueOfpublic static String copyValueOf(char[] data) valueOf(char[])と同等です。- パラメータ:
- data- 文字配列。
- 戻り値:
- 文字配列の文字が格納されているString。
 
- 
valueOfpublic static String valueOf(boolean b) boolean引数の文字列表現を返します。- パラメータ:
- b-- boolean。
- 戻り値:
- 引数がtrueの場合は"true"に等しい文字列が返され、そうでない場合は"false"に等しい文字列が返される。
 
- 
valueOfpublic static String valueOf(char c) char引数の文字列表現を返します。- パラメータ:
- c-- char。
- 戻り値:
- 1つの文字として引数cが格納された、長さ1の文字列。
 
- 
valueOfpublic static String valueOf(int i) int引数の文字列表現を返します。この表現は1つの引数を持つ Integer.toStringメソッドによって返されるものとまったく同じです。- パラメータ:
- i-- int。
- 戻り値:
- int引数の文字列表現。
- 関連項目:
 
- 
valueOfpublic static String valueOf(long l) long引数の文字列表現を返します。この表現は1つの引数を持つ Long.toStringメソッドによって返されるものとまったく同じです。- パラメータ:
- l-- long。
- 戻り値:
- long引数の文字列表現。
- 関連項目:
 
- 
valueOfpublic static String valueOf(float f) float引数の文字列表現を返します。この表現は1つの引数を持つ Float.toStringメソッドによって返されるものとまったく同じです。- パラメータ:
- f-- float。
- 戻り値:
- float引数の文字列表現。
- 関連項目:
 
- 
valueOfpublic static String valueOf(double d) double引数の文字列表現を返します。この表現は1つの引数を持つ Double.toStringメソッドによって返されるものとまったく同じです。- パラメータ:
- d-- double。
- 戻り値:
- double引数の文字列表現。
- 関連項目:
 
- 
internpublic 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で定義されます。 - 戻り値:
- この文字列と同じ内容だが、一意の文字列のプールからのものであることが保証されている文字列。
 
- 
repeatpublic String repeat(int count) この文字列を連結した値がcount回繰り返される文字列を返します。この文字列が空であるか、件数がゼロの場合は、空の文字列が返されます。 - パラメータ:
- count- 繰返し回数
- 戻り値:
- この文字列で構成された文字列は、この文字列が空であるかカウントがゼロの場合は、count回繰り返されるか空の文字列です。
- 例外:
- IllegalArgumentException-- countが負の場合。
- 導入されたバージョン:
- 11
 
- 
describeConstable
- 
resolveConstantDescpublic String resolveConstantDesc(MethodHandles.Lookup lookup) このインスタンスをConstantDescとして解決します。その結果がインスタンス自体です。- 定義:
- インタフェースConstantDesc内のresolveConstantDesc
- パラメータ:
- lookup- ignored
- 戻り値:
- Stringインスタンス
- 導入されたバージョン:
- 12
 
 
-