==; , , equals.
hd2 , containsKey , , == equals .
, , , getEntry(key) null. :
360 final Entry<K,V> getEntry(Object key) {
361 int hash = (key == null) ? 0 : hash(key.hashCode());
362 for (Entry<K,V> e = table[indexFor(hash, table.length)];
363 e != null;
364 e = e.next) {
365 Object k;
366 if (e.hash == hash &&
367 ((k = e.key) == key || (key != null && key.equals(k))))
368 return e;
369 }
370 return null;
371 }
367 , equals ==. || equals, == , .
, , , equals (, String#equals, ). equals , o1.equals(o2) , o1 == o2, .
, :
if (hm.containsKey(new HappyDay(2))) {
System.out.println("found");
} else {
System.out.println("not exist");
}
:
invoking hashCode()1
invoking hashCode()2
invoking hashCode()2
invoking equals()
found
, equals. , containsKey , , == false equals.