ホームページ  >  記事  >  Java  >  JavaのStringクラスの詳細な分析

JavaのStringクラスの詳細な分析

不言
不言オリジナル
2018-09-10 15:24:441693ブラウズ

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

文字列を作成する

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

Stringgreeting = "php中文网";

コード内で文字列定数が見つかった場合、ここでの値は "php中文网" になります。 " "、コンパイラーはこの値を使用して String オブジェクトを作成します。

他のオブジェクトと同様に、キーワードと構築メソッドを使用して String オブジェクトを作成できます。

String クラスには、初期化用のさまざまなパラメーターを提供する 11 の構築メソッドがあります。たとえば、文字列の場合は、文字配列パラメータを指定します。

StringDemo.java ファイル コード:

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

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

php

注: String クラスは不変なので、一度String オブジェクトの場合、その値は変更できません (詳細については「メモ」セクションを参照してください)。

文字列に多くの変更を加える必要がある場合は、StringBuffer および StringBuilder クラスの使用を選択する必要があります。

文字列の長さ

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

String クラスのアクセサー メソッドは、次のコードの後に​​ある文字列オブジェクトに含まれる文字数を返します。が実行されると、len 変数は 14 に等しくなります:

StringDemo.java ファイル コード:

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 つの文字列を接続するメソッドを提供します。文字列:

string1.concat(string2);

string2 を string1 に接続する 新しい文字列:

"我的名字是 ".concat("php");

より一般的に使用されるのは、文字列定数に対して concat() メソッドを使用することです。

"Hello," + " php" + "!"

結果は次のとおりです:

"Hello, runoob!"

以下は例です:

StringDemo.java ファイル コード:

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() メソッドを使用して、フォーマットされた数値を出力できることがわかっています。このクラスは、静的メソッド 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)

String メソッド

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

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

指定されたデータ型の x 引数の文字列表現を返します。

関連する推奨事項:

Java の String、StringBuffer、および StringBuilder クラスのパフォーマンスの詳細な分析

Java の Math および String 形式のクラス インスタンスの詳細な説明

以上がJavaのStringクラスの詳細な分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

関連記事

続きを見る