Java String equals() メソッド

Java String类Java Stringクラス


equals() メソッドは、文字列を指定されたオブジェクトと比較するために使用されます。

Stringクラスでは、2つの文字列の内容が等しいかどうかを比較するために equals() メソッドがオーバーライドされています。

構文

public boolean equals(Object anObject)

引数

  • anObject-- 文字列と比較するオブジェクト。

戻り値

指定されたオブジェクトが文字列と等しい場合は true を返し、それ以外の場合は false を返します。

例

例

public class Test {
    public static void main(String args[]) {
        String Str1 = new String("サンプル");
        String Str2 = Str1;
        String Str3 = new String("サンプル");
        boolean retVal;

        retVal = Str1.equals( Str2 );
        System.out.println("戻り値 = " + retVal );

        retVal = Str1.equals( Str3 );
        System.out.println("戻り値 = " + retVal );
    }
}

上記のプログラムの実行結果は次のとおりです:

返回值 = true
返回值 = true

使用==とequals()文字列を比較する。

String では==参照アドレスが同じかどうかを比較し、equals()文字列の内容が同じかどうかを比較します:

String s1 = "Hello";              // String を直接作成
String s2 = "Hello";              // String を直接作成
String s3 = s1;                   // 同じ参照
String s4 = new String("Hello");  // String オブジェクトを作成
String s5 = new String("Hello");  // String オブジェクトを作成
 
s1 == s1;         // true, 同じ参照
s1 == s2;         // true, s1 と s2 はどちらも共通プール内にあり、参照が同じ
s1 == s3;         // true, s3 は s1 と同じ参照
s1 == s4;         // false, 異なる参照アドレス
s4 == s5;         // false, ヒープ内の異なる参照アドレス
 
s1.equals(s3);    // true, 同じ内容
s1.equals(s4);    // true, 同じ内容
s4.equals(s5);    // true, 同じ内容


Java String类Java Stringクラス

その他の拡張