Javaで文字列を比較する際には、equals()メソッドがよく知られていますが、実はさまざまな方法があります。以下はそのいくつかの方法です。

1. equals()メソッドの使用

String str1 = "Hello";
String str2 = "Hello";

if (str1.equals(str2)) {
    System.out.println("str1とstr2は等しい");
} else {
    System.out.println("str1とstr2は等しくない");
}

2. compareTo()メソッドの使用

compareTo()メソッドは、文字列の辞書順比較を行います。戻り値が0ならば等しいです。

String str1 = "Apple";
String str2 = "Banana";

int result = str1.compareTo(str2);

if (result == 0) {
    System.out.println("str1とstr2は等しい");
} else if (result < 0) {
    System.out.println("str1はstr2より前にある");
} else {
    System.out.println("str1はstr2より後ろにある");
}

3. Objects.equals()メソッドの使用

Objects.equals()メソッドは、nullセーフな比較を提供します。

String str1 = "Hello";
String str2 = "Hello";

if (Objects.equals(str1, str2)) {
    System.out.println("str1とstr2は等しい");
} else {
    System.out.println("str1とstr2は等しくない");
}

4. ==演算子の使用

==演算子は、参照が同じかどうかを比較します。文字列の内容ではなく、オブジェクトの同一性を確認する点に注意してください。

String str1 = new String("Hello");
String str2 = new String("Hello");

if (str1 == str2) {
    System.out.println("str1とstr2は同じオブジェクトを参照している");
} else {
    System.out.println("str1とstr2は異なるオブジェクトを参照している");
}

これらの方法を理解して、適切な場面で使い分けることで、文字列比較においてより正確な結果を得ることができます。

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です