"=="は使うな!String型の比較はequals()でしろ!(戒め)

スポンサーリンク

初歩的な話でハマったので、自戒の念を込めて投稿。

javaで文字列を比較するとき

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

if (str1 == str2) {
//通らない
}

みたいなことしても、ifのなかを通ってくれません。
どちらも同じaという値ですが、str1str2はそれぞれ異なるStringオブジェクトなので、str1==str2は成立しません。

やるならこうです↓↓

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

if (str1.equals(str2)) {
//通る
}

equalsを使ってあげましょう。
equalsは異なるオブジェクト同士でも関係なく値の比較だけをしてくれます。

https://www.isaac.nl/contentAsset/image/97002e0f-320a-433a-8d17-afa83b729dcf/image

にほんブログ村 IT技術ブログへ
にほんブログ村