这两天在写原始类型(Primitive)的HashMap,用于提高HashMap的效率。又温故了下HashMap的源码。
想起之前有趣的代码,所以借此拿来跟大家分享下。
代码如下:
public static void main(String[] args)
{
Map m = new HashMap();
Object o1 = new Integer(1);
Object o2 = new Long(1);
m.put(o1, 1);
m.put(o2, 2);
System.out.println(m.get(1));
System.out.println(m.get(Long.valueOf(1)));
System.out.println(o1.hashCode());
System.out.println(o2.hashCode());
System.out.println(m.toString());
}
在看我Debug时的图片:
断点处
debug查看内容
好了,想问大家不要去写代码,告诉我程序最后的输出是多少?
答案看附件图片4
至于为什么,请看源码:
自己看,我不多说什么,欢迎留言讨论。