Java String equals() メソッド
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 );
}
}
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, 同じ内容
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クラス