Java 文字列クラス


文字列は Java プログラミングで広く使用されており、Java では文字列を作成および操作するための String クラスが提供されます。


文字列を作成する

文字列を作成する最も簡単な方法は次のとおりです:

String greeting = "Hello world!";

コード内で文字列定数に遭遇すると、ここでの値は "Hello world!" となり、コンパイラはこの値を使用して文字列を作成します。 String オブジェクト。

他のオブジェクトと同様に、キーワードとコンストラクターを使用して String オブジェクトを作成できます。

String クラスには 11 の構築メソッドがあります。これらのメソッドは、文字配列パラメータの提供など、文字列を初期化するためのさまざまなパラメータを提供します。

public class StringDemo{

   public static void main(String args[]){
      char[] helloArray = { 'h', 'e', 'l', 'l', 'o', '.'};
      String helloString = new String(helloArray);  
      System.out.println( helloString );
   }
}

上記の例のコンパイル結果と実行結果は次のとおりです:

hello.

注: String クラスは immutable であるため、String オブジェクトを作成すると、その値を変更することはできません。 文字列に多くの変更を加える必要がある場合は、StringBuffer クラスと StringBuilder クラスの使用を選択する必要があります。


文字列の長さ


オブジェクトに関する情報を取得するために使用されるメソッドは、アクセサー メソッドと呼ばれます。

String クラスのアクセサ メソッドは length() メソッドで、文字列オブジェクトに含まれる文字数を返します。

次のコードを実行すると、len 変数は 14 に等しくなります。

public class StringDemo {
    public static void main(String args[]) {
        String site = "www.php.cn";
        int len = site.length();
        System.out.println( "php中文网网址长度 : " + len );
   }
}

上記の例のコンパイル結果と実行結果は次のとおりです:

php中文网网址长度 : 14

文字列の接続

String クラスは、2 つの文字列を接続するメソッドを提供します。 strings:

string1.concat(string2);

string2 接続を返す string1 の新しい文字列。次のような文字列定数に concat() メソッドを使用することもできます:

"My name is ".concat("php");

さらに一般的に使用されるのは、次のような '+' 演算子を使用して文字列を連結することです:

"Hello," + " world" + "!"

結果は次のようになります:

"Hello, world!"

以下は例です:

public class StringDemo {
    public static void main(String args[]) {     
        String string1 = "php中文网网址:";     
        System.out.println("1、" + string1 + "www.php.cn");  
    }
}

上記の例のコンパイル結果と実行結果は次のとおりです:

1、php中文网网址:www.php.cn

フォーマットされた文字列の作成

printf() メソッドと format() メソッドを使用してフォーマットされた数値を出力できることがわかりました。 。 String クラスは、静的メソッド format() を使用して、PrintStream オブジェクトの代わりに String オブジェクトを返します。

String クラスの静的メソッド format() は、1 回限りの印刷出力だけでなく、再利用可能な書式設定された文字列を作成するために使用できます。以下に示すように:

System.out.printf("浮点型变量的的值为 " +
                  "%f, 整型变量的值为 " +
                  " %d, 字符串变量的值为 " +
                  "is %s", floatVar, intVar, stringVar);

次のように記述することもできます

String fs;
fs = String.format("浮点型变量的的值为 " +
                   "%f, 整型变量的值为 " +
                   " %d, 字符串变量的值为 " +
                   " %s", floatVar, intVar, stringVar);
System.out.println(fs);

String メソッド

String クラスでサポートされているメソッドは次のとおりです。詳細については、Java String API ドキュメントを参照してください。

SN (シリアル番号) メソッドの説明
1char charAt(int インデックス)
指定されたインデックスの char 値を返します。
2int CompareTo(Object o)
この文字列を別のオブジェクトと比較します。
3int CompareTo(String anotherString)
2 つの文字列を辞書順に比較します。
4int CompareToIgnoreCase(String str)
大文字と小文字に関係なく、2 つの文字列を辞書順に比較します。
5文字列連結(文字列str)
指定された文字列をこの文字列の末尾に連結します。
6ブール型 contentEquals(StringBuffer sb)
文字列の文字の順序が指定された StringButter と同じである場合に限り、true を返します。
7static String copyValueOf(char[] data)
指定された配列内のこの文字シーケンスを表す String を返します。
8static String copyValueOf(char[] data, int offset, int count)
指定された配列内のこの文字シーケンスを表す String を返します。
9ブール値のendsWith(文字列サフィックス)
この文字列が指定されたサフィックスで終わるかどうかをテストします。
10ブール値等しい(オブジェクト anObject)
この文字列を指定されたオブジェクトと比較します。
11ブール型equalsIgnoreCase(String anotherString)
大文字と小文字に関係なく、この文字列を別の文字列と比較します。
12byte[] getBytes()
プラットフォームのデフォルトの文字セットを使用して、この String をバイト シーケンスにエンコードし、結果を新しいバイト配列に格納します。
13byte[] getBytes(String charsetName)
指定された文字セットを使用してこの String をバイト シーケンスにエンコードし、結果を新しいバイト配列に格納します。
14void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)
この文字列からターゲットの文字配列に文字をコピーします。
15int hashCode()
この文字列のハッシュ コードを返します。
16intindexOf(int ch)
この文字列内で指定された文字が最初に出現するインデックスを返します。
17int IndexOf(int ch, int fromIndex)
この文字列内で指定された文字が最初に出現するインデックスを返し、指定されたインデックスから検索を開始します。
18intindexOf(String str)
この文字列内で指定された部分文字列が最初に出現するインデックスを返します。
19intindexOf(String str, int fromIndex)
指定されたインデックスから始まる、この文字列内で指定された部分文字列が最初に出現するインデックスを返します。
20文字列インターン()
文字列オブジェクトの正規表現を返します。
21int lastIndexOf(int ch)
この文字列内で指定された文字が最後に出現した位置のインデックスを返します。
22int lastIndexOf(int ch, int fromIndex)
指定されたインデックスから開始して逆方向検索を実行し、この文字列内で指定された文字が最後に出現したインデックスを返します。
23int lastIndexOf(String str)
この文字列内の指定された部分文字列の右端にあるインデックスを返します。
24int lastIndexOf(String str, int fromIndex)
この文字列内で指定された部分文字列が最後に出現したインデックスを返し、指定されたインデックスから逆検索を開始します。
25int length()
この文字列の長さを返します。
26ブール値一致(文字列正規表現)
この文字列が指定された正規表現と一致するかどうかを示します。
27booleanregionMatches(booleanignoreCase, int toffset, String other, int ooffset, int len)
2 つの文字列範囲が等しいかどうかをテストします。
28ブール型regionMatches(int tooffset, String other, int ooffset, int len)
2 つの文字列範囲が等しいかどうかをテストします。
29文字列置換(char oldChar, char newChar)
すべての oldChar を newChar に置き換えることによって取得された新しい文字列を返します。
30String replaceAll(文字列正規表現、文字列置換
) 指定された正規表現に一致するこの文字列のすべての部分文字列を指定された置換で置き換えます。
31文字列 replaceFirst(文字列正規表現、文字列置換)
指定された正規表現に一致するこの文字列の最初の部分文字列を指定された置換で置き換えます。
32String[] 分割(文字列正規表現)
指定された正規表現の一致に基づいてこの文字列を分割します。
33String[] 分割(文字列正規表現、整数制限)
指定された正規表現との一致に基づいてこの文字列を分割します。
34ブール値startsWith(文字列プレフィックス)
この文字列が指定されたプレフィックスで始まるかどうかをテストします。
35ブール値startsWith(文字列プレフィックス、int tooffset)
指定されたインデックスで始まるこの文字列の部分文字列が、指定されたプレフィックスで始まるかどうかをテストします。
36CharSequence subSequence(int beginIndex, int endIndex)
このシーケンスのサブシーケンスである新しい文字シーケンスを返します。
37文字列部分文字列(int beginIndex)
この文字列の部分文字列である新しい文字列を返します。
38文字列部分文字列(int beginIndex, int endIndex)
この文字列の部分文字列である新しい文字列を返します。
39char[] toCharArray()
この文字列を新しい文字配列に変換します。
40文字列をLowerCase()に変換
デフォルトのロケールの規則を使用して、この文字列内のすべての文字を小文字に変換します。
41文字列をLowerCase(ロケールロケール)
指定されたロケールの規則を使用して、この文字列内のすべての文字を小文字に変換します。
42文字列 toString()
このオブジェクト自体を返します (すでに文字列になっています!)。
43文字列をUpperCase()に変換
デフォルトのロケールの規則を使用して、この文字列内のすべての文字を大文字に変換します。
44文字列を大文字に変換(ロケールロケール)
指定されたロケールの規則を使用して、この文字列内のすべての文字を大文字に変換します。
45文字列トリム()
先頭と末尾の空白を無視して、文字列のコピーを返します。
46static String valueOf(プリミティブデータ型 x)
指定されたデータ型の x 引数の文字列表現を返します。