本帖最后由 ysdolls 于 2014-8-3 13:55 编辑
/*一直以为对象的引用地址就是由hashcode来决定的
所以hashcode相同那地址就是一样的
今天看了老毕的14天视频,在讲hashset的时候产生了疑问
原来我以前一直是错误的 hashcode并不是地址值
*/
大家曾经有和我一样这么认为的嘛。。。。
public class hashset {
public static void main(String[] args){
Person p1 =new Person();
Person p2 =new Person();
Person p3 =new Person();
//创建三个Person对象
p1.name="wangwu";
//给p1名字 如果hashcode代表的就是地址值 那相同hashcode的对象应该同时赋值name
sop(p1.toString());
sop(p2.toString());
sop(p3.toString());
//先输出 三个对象getClass().getName() + '@' + Integer.toHexString(hashCode())
sop(p1.name);
sop(p2.name);
sop(p3.name);
//输出三个对象的名字 对比名字是否相同
}
public static void sop(Object obj){
System.out.println(obj);
}
}
public class Person {
String name ;
public int hashCode(){
return 60;
}
}
附带一句 刚刚百度 知道了 物理地址 在java中我们是获取不到的 全都交由jvm 管理
java中 并不直接对指针操作
|