JavaのStringクラスで等価関係を判定するには
Java では、String クラスには文字列の等価性を判定するための 2 つのメソッドがあります:
- イコール
String str1 = "hello";
String str2 = "world";
String str3 = "hello";
System.out.println(str1.equals(str2)); // 输出false
System.out.println(str1.equals(str3)); // 输出true
- equalsIgnoreCase()
String str1 = "hello";
String str2 = "HELLO";
System.out.println(str1.equalsIgnoreCase(str2)); // 输出true
文字列同士の比較に==演算子を使用するのは注意が必要です。==はオブジェクトが同じ参照かどうかの比較であり、オブジェクトの中身が等しいかどうかではありません。たとえば、
String str1 = "hello";
String str2 = new String("hello");
System.out.println(str1 == str2); // 输出false
結局として、文字列オブジェクトの等価性を判断したい場合、equals()またはequalsIgnoreCase()メソッドの使用をお勧めします。