为什么需要转换类型啊,比较的不是值么?不转换类型不可以?
Dog other=(Dog) obj;
if(age!=other.age)
return false;
Dog other=(Dog) obj;
if(age!=other.age)
return false;
2016-03-17
同学你结合一下上下文的代码才能好理解一点~
// 如果另一个对象和当前对象引用都一样,那么肯定是同一个对象实例,返回true
if (this == obj)
return true;
//如果另一个对象为null,返回false
if (obj == null)
return false;
//如果另一个对象和当前对象类型都不一样,那么肯定不相等,返回false
if (getClass() != obj.getClass())
return false;
//到这一步,传进来的对象肯定和当前对象类型一样了,那么直接转换下
Dog other = (Dog) obj;
//检查两个对象的age属性,不一样就返回false
if (age != other.age)
return false;
举报