黑马程序员技术交流社区

标题: equals方法中的判断 [打印本页]

作者: 鱼饵    时间: 2015-5-15 09:43
标题: equals方法中的判断
public boolean equals(Object obj)
{
        if(!(obj instancdof Person)
                return false;
        Person p (Person)obj;
        System.out.println(this.name+"...“+p.name);
        return this.name.equals(p.name) && this.age == p.age;
}
大神给解释一下这两句是什么意思没看懂。
        if(!(obj instancdof Person)
        return false;
作者: 痲ボㄋ.    时间: 2015-5-15 11:34
判断obj是否属于Person类,如果是的话返回true 否则false,obj instancdof Person如果是真的话说明obj属于Person类型,!的话就是不是person类型所以返回false,因为你接下来要转换成Person类型。如果不判断的话当你传一个不是person类型的对象进来,而你又强转成person的话应该是报类型转换异常吧
作者: CoeusLYJ    时间: 2015-5-15 12:29
obj是不是Person型的,如果不是就返回false
作者: 星辉祝愿    时间: 2015-5-15 12:49
if(!(obj instancdof Person)
        return false;
用于判断传入的obj是否Person型的!如果不是则结束返回false
作者: yogkin    时间: 2015-5-15 14:23
obj是不是Person型的,如果不是就返回false
作者: hellotaomi    时间: 2015-5-15 14:55
二楼正解啦
作者: 晚风吹舟行    时间: 2015-5-15 14:56
你单词拼错了吧?难道不是“instanceof”如果是的就判断obj是否是person类或之间有无继承关系




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2