String str = "hoge"; if (str == "hoge") { System.out.println("equal"); } else { System.out.println("not equal"); }
上の例を実行した場合,not equalが出力されることがある.これはStringの比較は,中身ではなく参照先を見ているからだとか.とかく,そういうわけなのでJavaにおいて文字列の比較をしたければ必ず以下のようにequalsメソッドを使用すること.equalsメソッドは中身を比較してくれる.
String str = "hoge"; if (str.equals("hoge")) { System.out.println("equal"); }
補足:vmにおいては”==”で比較しても大丈夫らしい?