Java の文字列は String クラスによって記述され、静的です。既存の行では、文字とその番号を変更することはできません。new 演算子による標準の作成に加えて、文字列リテラルから直接文字列を作成することもできます。同時に、最適化の目的で、この方法で作成されたオブジェクトは別の領域 (文字列プール) にさらに保存されます。
String s1 = "d" // строка будет сохранена в пуле // строка не будет сохранена в пуле // будет уничтожена сборщиком мусора String s2 = new String("a");
文字列を静的と動的に分離する利点の 1 つは、文字列が引数として使用される場合 (データベースを開く、インターネット接続、クラス読み込みメカニズムなど) のセキュリティが向上することです。
操作+
+ 演算は文字列に使用でき、複数の文字列を 1 つに結合できます。オペランドの 1 つが文字列ではない場合、自動的に文字列に変換されます。オブジェクトの場合、この目的のために toString メソッドが使用されます。各操作は内部で動的な StringBuilder または StringBuffer オブジェクトを使用します。したがって、複数の文字列から文字列を組み立てるには、一度に 1 つの StringBuilder/StringBuffer を使用するのが最適です。部分文字列の選択
substring メソッドに関する注意点があります。返される文字列は、元の文字列と同じバイト配列を使用します。たとえば、1MB のファイルから行 A をダウンロードしたとします。彼らはそこに何かを見つけて、それを 3 文字の長さの別の行 B に分割しました。実際には、行 B も同じ 1MB を占有します。String s ="very .... long string from file"; // совместно использует ту же память что и s String sub1 = s.substring(2,4); // этот an object использует отдельный массив на 4 символа String sub2 = new String(s.substring(2,4));
基本的な方法
- CompareTo (String anotherString) - 文字列の辞書式比較。
- CompareToIgnoreCase (String str) - 大文字と小文字を区別しない文字列の辞書式比較。
- regionMatches (booleanignoreCase、int toffset、String other、int ooffset、int len) - 文字列領域の同一性をテストします。大文字と小文字の区別を指定できます。
- regionMatches (int tooffset, String other, int ooffset, int len) - 文字列領域の同一性をテストします。
- concat (String str) - 2 つの文字列の連結を返します。
- contains (CharSequence s) - 指定された文字シーケンスが文字列に含まれているかどうかを確認します。
- opensWith (文字列接尾辞) - 文字列が指定された接尾辞で終わるかどうかを確認します。
- startsWith (String prefix) - 文字列が指定されたプレフィックスで始まるかどうかを確認します。
- startsWith (String prefix, int tooffset) - 指定された位置の文字列が指定されたプレフィックスで始まるかどうかを確認します。
- 等しい(Object anObject) - 文字列が指定されたオブジェクトと同一かどうかをチェックします。
- getBytes () - 文字列のバイト表現を返します。
- getChars (int srcBegin, int srcEnd, char[] dst, int dstBegin) - 文字列のセクションの文字表現を返します。
- hashCode () - 文字列のハッシュ コード。
- IndexOf (int ch) - 文字列内で最初に出現する文字を検索します。
- IndexOf (int ch, int fromIndex) - 指定された位置から文字列内で最初に出現する文字を検索します。
- IndexOf (String str) - 指定された部分文字列の最初の出現を検索します。
- IndexOf (String str, int fromIndex) - 指定された位置から指定された部分文字列の最初の出現を検索します。
- lastIndexOf (int ch) - シンボルの最後に出現する箇所を検索します。
- lastIndexOf (int ch, int fromIndex) - 指定された位置から最後に出現する文字を検索します。
- lastIndexOf (String str) - 文字列の最後の出現箇所を検索します。
- lastIndexOf (String str, int fromIndex) - 指定された位置から最後に出現する文字列を検索します。
- replace (char oldChar, char newChar) - 文字列内の 1 つの文字を別の文字に置き換えます。
- replace (CharSequence target, CharSequence replace) - ある部分文字列を別の部分文字列に置き換えます。
- substring (int beginIndex, int endIndex) - 部分文字列を文字列として返します。
- toLowerCase () - 文字列を小文字に変換します。
- toLowerCase (ロケール ロケール) - 指定されたロケールを使用して文字列を小文字に変換します。
- toUpperCase() - 文字列を大文字に変換します。
- toUpperCase (ロケール ロケール) - 指定されたロケールを使用して文字列を大文字に変換します。
- trim() - 文字列の末尾にある空の文字をトリミングします。
- valueOf(a) - さまざまな型を文字列に変換するための静的メソッド。
- matches (String regex) - 文字列が指定された正規表現と一致するかどうか。
- replaceAll (String regex, String rplс) - 正規表現を満たすすべての文字列を指定された文字列に置き換えます。
- replaceFirst (String regex, String rplс) - 正規表現に一致する最初の文字列を指定された文字列に置き換えます。
- 分割(文字列正規表現) - 文字列を部分に分割します。分割の境界は、正規表現を満たす文字列の出現です。
- Split (String regex, int limit) - 前のものと似ていますが、制限値までの文字列に正規表現を適用するという制限があります。制限 > 0 の場合、返される文字列配列のサイズは制限を超えません。limit<=0 の場合、正規表現は文字列に無制限に適用されます。
GO TO FULL VERSION