}
上述class中没有覆盖hashCode方法,因此这个时候用的是Object.hashCode()的返回值;我们来测试一下
public class TestHashCode extends TestCase {
public void testMap() {
Person p1 = new Person(1,"aaa"),p2 = new Person(1,"bbb");
Map map = new HashMap();
map.put(p1,p1);
Member value = (Person)map.get(p2);
System.out.println(value.getName());
}
}
请注意,这两个对象是相等的,可以从equals()的定义看出来;运行TestHashCode ,结果是NullPointerException;