Java FAQ
|
二つの文字列が等しいかどうかの比較はどうするのですか。 |
は、文字列sとtの内容が等しいかどうかを比較するのではなく、s1とs2が、同じオブジェクトであるかどうかの比較と解釈されてしまうからです。String s1, s2; /* … */ if (s == t) /* … */
// // 文字列を比較する // class CompareString { public static void main(String[] args) { String str = "DEF"; String str1 = "ABC" + str; // "ABCDEF"となる String str2 = "ABC" + str; // "ABCDEF"となる if (str1 == str2) System.out.println("str1 == str2"); else System.out.println("str1 != str2"); // こちらが実行される if (str1.equals(str2)) System.out.println("Str1 is equal to str2."); // こちらが実行される else System.out.println("Str1 isn't equal to str2."); } }