5月 11th, 2008at 1:16

Tags:

==とequalsの違い

このエントリーをはてなブックマークに追加

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

== 

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

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

equals 

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

Integer h1 = new Integer(1);Integer h2 = new Integer(1); //これはtrueSystem.out.println(h1.equals(h2));
このエントリーをはてなブックマークに追加