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

为什么需要转换类型啊,比较的不是值么?不转换类型不可以?

Dog other=(Dog) obj;

       if(age!=other.age)

              return false;


正在回答

3 回答

计算机语言不能以大脑的思维方式来思考  

虽说是比较的值   在计算机语言中不同的类型就和大脑想的文字与数字的关系一样

是无法关联到一起进行比较的   只有将它们转换成一中类型   才可以进行比较

就比如   伍与5 是无法比较的   只有把5转换成五他们才可以有联系(都是文字)

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

撞门人 提问者

非常感谢!
2016-03-17 回复 有任何疑惑可以回复我~

这个答案好

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

同学你结合一下上下文的代码才能好理解一点~


// 如果另一个对象和当前对象引用都一样,那么肯定是同一个对象实例,返回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;

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

举报

0/150
提交
取消

为什么需要转换类型啊,比较的不是值么?不转换类型不可以?

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