关于equals( )方法重写的疑问?
重写equals( )方法时,
if (getClass() != obj.getClass())
return false;
执行完后,已经保证了原有对象和传入对象obj的类型相同,
为什么后面仍要执行
Dog other = (Dog) obj;
将传入对象obj转化为原有对象的Dog类型?
不可以这样写吗?如下:
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
if (age != obj.age)
return false;
return true;
}