黑马程序员技术交流社区
标题:
教学文档上的这个程序这算不算有bug?
[打印本页]
作者:
nblity007
时间:
2016-8-3 21:38
标题:
教学文档上的这个程序这算不算有bug?
class Person {
int age ;
//复写父类的equals方法,实现自己的比较方式
public boolean equals(Object obj) {
if(this == obj){
return true;
}
//判断传递进来的对象是否是Person类型
if(!(obj instanceof Person)){ // 如果是Person的两个不同子类的对象调用equals方法比较,也有可能相等!
return false;
}
//将obj向下转型为Perosn引用,访问其属性
Person p = (Person)obj;
return this.age == p.age;
}
}
=========================================
if(!(obj instanceof Person)){
return false;
}
// 如果是Person的两个不同子类的对象调用equals方法比较,也有可能相等!
而eclipse自动生成的方法在这里的处理如下,感觉更严谨!
if(getClass()!=obj.getClass){
return false;
}
作者:
icefish
时间:
2016-8-3 21:57
上面的代码比较的是对象在堆内存中的地址值吧 而下面eclipse生成的是比较方法区中class字节码文件的地址值
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2