ほんのさっきまで考えもしなかったんだけど、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));