Java-文字列クラス
Javaプログラミングで広く使用されている文字列は、文字のシーケンスです。Javaプログラミング言語では、文字列はオブジェクトとして扱われます。
Javaプラットフォームは、文字列を作成および操作するためのStringクラスを提供します。
文字列の作成
文字列を作成する最も直接的な方法は、次のように書くことです。
String greeting = "Hello world!";
コード内で文字列リテラルを検出すると、コンパイラはその値(この場合は「Helloworld!」)を使用してStringオブジェクトを作成します。
他のオブジェクトと同様に、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.
Note− Stringクラスは不変であるため、一度作成するとStringオブジェクトを変更できません。文字列に多くの変更を加える必要がある場合は、文字列バッファと文字列ビルダークラスを使用する必要があります。
文字列の長さ
オブジェクトに関する情報を取得するために使用されるメソッドは、 accessor methods。文字列で使用できるアクセサメソッドの1つは、文字列オブジェクトに含まれる文字数を返すlength()メソッドです。
次のプログラムはの例です length()、メソッド文字列クラス。
例
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);
これは、最後にstring2が追加されたstring1である新しい文字列を返します。−のように、文字列リテラルで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の静的format()メソッドを使用すると、1回限りの印刷ステートメントではなく、再利用できるフォーマット済みの文字列を作成できます。たとえば、-の代わりに
例
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クラスでサポートされているメソッドのリストは次のとおりです-
シニア番号 | 方法と説明 |
---|---|
1 | char charAt(int index) 指定されたインデックスの文字を返します。 |
2 | int compareTo(Object o) この文字列を別のオブジェクトと比較します。 |
3 | int compareTo(String anotherString) 2つの文字列を辞書式に比較します。 |
4 | int compareToIgnoreCase(String str) 大文字と小文字の違いを無視して、2つの文字列を辞書式に比較します。 |
5 | 文字列concat(文字列str) 指定された文字列をこの文字列の末尾に連結します。 |
6 | boolean contentEquals(StringBuffer sb) この文字列が指定されたStringBufferと同じ文字シーケンスを表す場合にのみ、trueを返します。 |
7 | 静的文字列copyValueOf(char [] data) 指定された配列の文字シーケンスを表す文字列を返します。 |
8 | static String copyValueOf(char [] data、int offset、int count) 指定された配列の文字シーケンスを表す文字列を返します。 |
9 | ブール値endsWith(文字列サフィックス) この文字列が指定されたサフィックスで終わるかどうかをテストします。 |
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(String str) 指定された部分文字列が最初に出現するこの文字列内のインデックスを返します。 |
19 | int indexOf(String str、int fromIndex) 指定されたインデックスから開始して、指定された部分文字列が最初に出現するこの文字列内のインデックスを返します。 |
20 | 文字列intern() 文字列オブジェクトの正規表現を返します。 |
21 | int lastIndexOf(int ch) 指定された文字が最後に出現するこの文字列内のインデックスを返します。 |
22 | int lastIndexOf(int ch、int fromIndex) 指定された文字の最後の出現のこの文字列内のインデックスを返し、指定されたインデックスから逆方向に検索します。 |
23 | int lastIndexOf(String str) 指定された部分文字列の右端にあるこの文字列内のインデックスを返します。 |
24 | int lastIndexOf(String str、int fromIndex) 指定された部分文字列の最後の出現のこの文字列内のインデックスを返し、指定されたインデックスから逆方向に検索します。 |
25 | int length() この文字列の長さを返します。 |
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 | 文字列replace(char oldChar、char newChar) この文字列内で出現するすべてのoldCharをnewCharに置き換えた結果の新しい文字列を返します。 |
30 | 文字列replaceAll(文字列正規表現、文字列置換 指定された正規表現に一致するこの文字列の各部分文字列を、指定された置換で置き換えます。 |
31 | 文字列replaceFirst(文字列正規表現、文字列置換) 指定された正規表現に一致するこの文字列の最初の部分文字列を、指定された置換で置き換えます。 |
32 | String [] split(String regex) 指定された正規表現の一致を中心にこの文字列を分割します。 |
33 | String [] split(String regex、int limit) 指定された正規表現の一致を中心にこの文字列を分割します。 |
34 | ブールstartsWith(文字列プレフィックス) この文字列が指定されたプレフィックスで始まるかどうかをテストします。 |
35 | ブールstartsWith(String prefix、int toffset) この文字列が、指定されたインデックスで始まる指定されたプレフィックスで始まるかどうかをテストします。 |
36 | CharSequence subSequence(int beginIndex、int endIndex) このシーケンスのサブシーケンスである新しい文字シーケンスを返します。 |
37 | 文字列部分文字列(intbeginIndex) この文字列の部分文字列である新しい文字列を返します。 |
38 | 文字列部分文字列(int beginIndex、int endIndex) この文字列の部分文字列である新しい文字列を返します。 |
39 | char [] toCharArray() この文字列を新しい文字配列に変換します。 |
40 | 文字列toLowerCase() デフォルトのロケールの規則を使用して、この文字列内のすべての文字を小文字に変換します。 |
41 | 文字列toLowerCase(ロケールロケール) 指定されたロケールのルールを使用して、この文字列内のすべての文字を小文字に変換します。 |
42 | 文字列toString() このオブジェクト(すでに文字列です!)自体が返されます。 |
43 | 文字列toUpperCase() デフォルトのロケールの規則を使用して、この文字列内のすべての文字を大文字に変換します。 |
44 | 文字列toUpperCase(ロケールロケール) 指定されたロケールのルールを使用して、この文字列内のすべての文字を大文字に変換します。 |
45 | 文字列trim() 前後の空白を省略して、文字列のコピーを返します。 |
46 | static String valueOf(プリミティブデータ型x) 渡されたデータ型引数の文字列表現を返します。 |