java.util.DateのhashCodeを比較
java.util.Date#hashCodeメソッドはオーバーライドされており、「オブジェクトそのものの比較」には使えません。
http://docs.oracle.com/javase/jp/7/api/java/util/Date.html#hashCode()
こんな処理を実行すると
long current = System.currentTimeMillis(); Date date1 = new Date(current); Date date2 = new Date(current); System.out.println(date1.hashCode()); System.out.println(date2.hashCode());
こんな結果が返ってきます。
1904960945 1904960945
オブジェクトそのものの比較をやりたいときは、System#identityHashCodeメソッドを使えば良いです。
http://docs.oracle.com/javase/jp/7/api/java/lang/System.html#identityHashCode(java.lang.Object)
System.out.println(System.identityHashCode(date1)); System.out.println(System.identityHashCode(date2));
実行結果
366712642 1829164700