コツコツ学習ブログ

プログラマのweb上のメモ的なもの

等価判定

等価と等値

2つの比較方法は似て火なるもの

  • 等価(equals) 指している2つのものが「同じ内容」であること (同じアドレスを指していなくても良い)
Person p1 = new ("ゆうた");
Person p2 = new ("ゆうた");

h1!= h2 h1.equals(h2) となる

  • 等値(==) 指しているものが「完全に同一の存在」であること (同じアドレスを指している)
Person p1 = new ("ゆうた");
Person p2 = p1;

このときh1 == h2 である

クラスを作成したら、equals()を正しくオーバーライドしておく 必要がある