shokosブログ

プログラミング

ちょこっとjavaメモ

==とequalsのはなし

ご指摘いただいて修正しました

String hoge = "piyo";

と定義したとき、

hoge=="piyo";
これも
hoge.equals("piyo");
これもtureになります


でも

String hoge = new String("piyo");

と定義したとき、
hoge=="piyo";
はfalseになり
hoge.equals("piyo");
はtureになります


さらに

String hoge = new String("piyo");
String foo = new String("piyo");

と定義したとき、
hoge==foo;
はfalseになり
hoge.equals(foo);
はtureになります


equalsは内部で中身を1文字ずつ分解して比較していくそうです