关于引用地址和物理地址的一个困惑,该如何处理
关于引用地址和物理地址的一个困惑
结果是:
a : 1
b : 1
c : 80
d : 80
无法理解输出,求大侠指点!
------解决方案--------------------
hashcode一般用在hash表中
建议lz看看这个blog,我觉得写的不错。http://www.blogjava.net/ycfdonews/articles/168476.html
------解决方案--------------------
hashcode 是物理地址的引用,当你add()的时候,物理存储空间就大了,所以地址也变化了
- 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()的时候,物理存储空间就大了,所以地址也变化了