==とequalsの違い

感想おまちしてます!

ほんのさっきまで考えもしなかったんだけど、IdentityHashMapを調べているときに違いを発見。

== 

参照型変数(オブジェクトとか)の場合は、その変数の実体を参照するIDを比べる。

Integer i1 = new Integer(1);
Integer i2 = new Integer(1);
//これはfalse
System.out.println(i1 == i2);

equals 

オブジェクトの等価性を比べる。

Integer h1 = new Integer(1);
Integer h2 = new Integer(1);
//これはtrue
System.out.println(h1.equals(h2));