为了账号安全,请及时绑定邮箱和手机立即绑定

一定要 Dog other = (Dog)obj;

重写equals方法里   比较属性值是否相等之前一定要  Dog other = (Dog)obj;吗?不能直接和obj的属性值比较吗

正在回答

3 回答

如果不转换成dog对象是没法比较属性值的

0 回复 有任何疑惑可以回复我~
#1

湖水换成泪 提问者

非常感谢!
2017-07-18 回复 有任何疑惑可以回复我~

前面第一次比较是比较了两个引用是否指向同一块内存区域,第二次比较是比较了代码中是否是相同的类名,第三次比较是要比较对象的属性值是否相同,因为传进来的obj是Object类型,为了能够使用Dog类中的属性,必须先将其强制转换成Dog类型

1 回复 有任何疑惑可以回复我~
#1

慕圣8425527

进来的obj是Object类型,而不是Dog类型。那么if (getClass() != obj.getClass())不是返回true吗?然后就执行下面的return false语句,运行结束吗
2020-05-29 回复 有任何疑惑可以回复我~

对象类型不相同不能直接比较

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

一定要 Dog other = (Dog)obj;

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信