Java-文字列クラス
Java プログラミングで広く使用されている文字列は、一連の文字です。 Java プログラミング言語では、文字列はオブジェクトとして扱われます。
Java プラットフォームは、文字列を作成および操作するための String クラスを提供します。
文字列の作成
文字列を作成する最も直接的な方法は、次のように書くことです −
String greeting = "Hello world!";
コード内で文字列リテラルが検出されるたびに、コンパイラはその値を持つ String オブジェクトを作成します。この場合は "Hello world!" です。
他のオブジェクトと同様に、 new キーワードとコンストラクターを使用して 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 クラスは不変であるため、一度作成すると String オブジェクトを変更することはできません。文字列に多くの変更を加える必要がある場合は、文字列バッファと文字列ビルダ クラスを使用する必要があります。
文字列の長さ
オブジェクトに関する情報を取得するために使用されるメソッドは、アクセサ メソッドとして知られています。 .文字列で使用できる 1 つのアクセサー メソッドは、文字列オブジェクトに含まれる文字数を返す length() メソッドです。
次のプログラムは length() の例です 、メソッド String クラス。
例
ライブデモpublic class StringDemo { public static void main(String args[]) { String palindrome = "Dot saw I was Tod"; int len = palindrome.length(); System.out.println( "String Length is : " + len ); } }
これにより、次の結果が生成されます-
出力
String Length is : 17
文字列の連結
String クラスには、2 つの文字列を連結するためのメソッドが含まれています −
string1.concat(string2);
これにより、string1 の末尾に string2 が追加された新しい文字列が返されます。次のように、文字列リテラルで concat() メソッドを使用することもできます −
"My name is ".concat("Zara");
文字列は、より一般的に + で連結されます。 −
のような演算子"Hello," + " world" + "!"
その結果、-
"Hello, world!"
次の例を見てみましょう-
例
ライブデモpublic class StringDemo { public static void main(String args[]) { String string1 = "saw I was "; System.out.println("Dot " + string1 + "Tod"); } }
これにより、次の結果が生成されます-
出力
Dot saw I was Tod
フォーマット文字列の作成
フォーマットされた数値で出力を印刷するための printf() および format() メソッドがあります。 String クラスには、PrintStream オブジェクトではなく String オブジェクトを返す同等のクラス メソッド format() があります。
String の static format() メソッドを使用すると、1 回限りの print ステートメントとは対照的に、再利用できる書式設定された文字列を作成できます。たとえば、-
の代わりに例
System.out.printf("The value of the float variable is " + "%f, while the value of the integer " + "variable is %d, and the string " + "is %s", floatVar, intVar, stringVar);
あなたは書くことができます-
String fs; fs = String.format("The value of the float variable is " + "%f, while the value of the integer " + "variable is %d, and the string " + "is %s", floatVar, intVar, stringVar); System.out.println(fs);
文字列メソッド
String クラスでサポートされているメソッドのリストは次のとおりです −
Sr.No. | 方法と説明 |
---|---|
1 | char charAt(int インデックス) 指定されたインデックスの文字を返します。 |
2 | int compareTo(オブジェクト o) この文字列を別のオブジェクトと比較します。 |
3 | int compareTo(String anotherString) 2 つの文字列を辞書順に比較します。 |
4 | int compareToIgnoreCase(String str) 大文字と小文字の違いを無視して、2 つの文字列を辞書順に比較します。 |
5 | 文字列 concat(文字列 str) 指定された文字列をこの文字列の末尾に連結します。 |
6 | boolean contentEquals(StringBuffer sb) この String が、指定された StringBuffer と同じ文字シーケンスを表す場合にのみ、true を返します。 |
7 | static String copyValueOf(char[] data) 指定された配列内の文字シーケンスを表す文字列を返します。 |
8 | static String copyValueOf(char[] data, int offset, int count) 指定された配列内の文字シーケンスを表す文字列を返します。 |
9 | ブール値 endWith(String suffix) この文字列が指定された接尾辞で終わるかどうかをテストします。 |
10 | boolean equals(Object anObject) この文字列を指定されたオブジェクトと比較します。 |
11 | boolean equalsIgnoreCase(String anotherString) 大文字と小文字を考慮せずに、この文字列を別の文字列と比較します。 |
12 | byte[] getBytes() プラットフォームのデフォルトの文字セットを使用して、この文字列を一連のバイトにエンコードし、結果を新しいバイト配列に格納します。 |
13 | byte[] getBytes(String charsetName) 指定された文字セットを使用してこの文字列を一連のバイトにエンコードし、結果を新しいバイト配列に格納します。 |
14 | void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) この文字列からコピー先の文字配列に文字をコピーします。 |
15 | int hashCode() この文字列のハッシュ コードを返します。 |
16 | int indexOf(int ch) 指定された文字が最初に出現する、この文字列内のインデックスを返します。 |
17 | int indexOf(int ch, int fromIndex) この文字列内で指定された文字が最初に出現するインデックスを返し、指定されたインデックスから検索を開始します。 |
18 | int indexOf(文字列 str) 指定された部分文字列が最初に出現する、この文字列内のインデックスを返します。 |
19 | int indexOf(String str, int fromIndex) 指定されたインデックスから始まる、指定された部分文字列が最初に出現するこの文字列内のインデックスを返します。 |
20 | 文字列インターン() 文字列オブジェクトの正規表現を返します。 |
21 | int lastIndexOf(int ch) 指定された文字が最後に出現する、この文字列内のインデックスを返します。 |
22 | int lastIndexOf(int ch, int fromIndex) 指定されたインデックスから逆方向に検索して、指定された文字が最後に出現したこの文字列内のインデックスを返します。 |
23 | int lastIndexOf(文字列 str) この文字列内で、指定された部分文字列が右端に出現するインデックスを返します。 |
24 | int lastIndexOf(String str, int fromIndex) 指定されたインデックスから逆方向に検索して、指定された部分文字列が最後に出現したこの文字列内のインデックスを返します。 |
25 | 長さ() この文字列の長さを返します。 |
26 | ブール一致 (文字列の正規表現) この文字列が指定された正規表現と一致するかどうかを示します。 |
27 | boolean regionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len) 2 つの文字列領域が等しいかどうかをテストします。 |
28 | boolean regionMatches(int toffset, String other, int ooffset, int len) 2 つの文字列領域が等しいかどうかをテストします。 |
29 | String replace(char oldChar, char newChar) この文字列内のすべての oldChar を newChar に置き換えた新しい文字列を返します。 |
30 | String replaceAll(String regex, String replacement 指定された正規表現に一致するこの文字列の各部分文字列を指定された置換で置き換えます。 |
31 | String replaceFirst(String regex, String replacement) 指定された正規表現に一致するこの文字列の最初の部分文字列を、指定された置換で置き換えます。 |
32 | String[] split(文字列正規表現) 指定された正規表現の一致を中心にこの文字列を分割します。 |
33 | String[] split(String regex, int limit) 指定された正規表現の一致を中心にこの文字列を分割します。 |
34 | boolean startsWith(文字列プレフィックス) この文字列が指定されたプレフィックスで始まるかどうかをテストします。 |
35 | boolean startsWith(String prefix, int toffset) この文字列が、指定されたインデックスから始まる指定されたプレフィックスで始まるかどうかをテストします。 |
36 | CharSequence subSequence(int beginIndex, int endIndex) このシーケンスのサブシーケンスである新しい文字シーケンスを返します。 |
37 | 文字列部分文字列(int beginIndex) この文字列の部分文字列である新しい文字列を返します。 |
38 | 文字列部分文字列(int beginIndex, int endIndex) この文字列の部分文字列である新しい文字列を返します。 |
39 | char[] toCharArray() この文字列を新しい文字配列に変換します。 |
40 | 文字列 toLowerCase() デフォルトのロケールの規則を使用して、この文字列内のすべての文字を小文字に変換します。 |
41 | 文字列 toLowerCase(ロケール ロケール) 指定された Locale の規則を使用して、この String 内のすべての文字を小文字に変換します。 |
42 | 文字列 toString() このオブジェクト (すでに文字列です!) 自体が返されます。 |
43 | 文字列 toUpperCase() デフォルトのロケールの規則を使用して、この文字列内のすべての文字を大文字に変換します。 |
44 | 文字列 toUpperCase(ロケール ロケール) 指定された Locale の規則を使用して、この String 内のすべての文字を大文字に変換します。 |
45 | 文字列トリム() 先頭と末尾の空白を省略して、文字列のコピーを返します。 |
46 | static String valueOf(プリミティブデータ型 x) 渡されたデータ型引数の文字列表現を返します。 |
Java