当前位置: 代码迷 >> J2SE >> 关于引用地址和物理地址的一个困惑,该如何处理
  详细解决方案

关于引用地址和物理地址的一个困惑,该如何处理

热度:195   发布时间:2016-04-24 02:27:37.0
关于引用地址和物理地址的一个困惑
Java code
@Test    public void testObject() {        ArrayList list = new ArrayList();        System.out.println("a : " + list.hashCode());        changeObject(list);        System.out.println("d : " + list.hashCode());    }        public void changeObject(ArrayList list) {        System.out.println("b : " + list.hashCode());        list.add("1");        System.out.println("c : " + list.hashCode());    }


结果是:
a : 1
b : 1
c : 80
d : 80

无法理解输出,求大侠指点!

------解决方案--------------------
hashcode一般用在hash表中
建议lz看看这个blog,我觉得写的不错。http://www.blogjava.net/ycfdonews/articles/168476.html
------解决方案--------------------
hashcode 是物理地址的引用,当你add()的时候,物理存储空间就大了,所以地址也变化了