课程
/后端开发
/Java
/Java入门第三季
请问下重写equals方法时 将obj强转为Course类型是为什么
为什么要将这个强转为Course类型
2017-10-30
源自:Java入门第三季 6-1
正在回答
因为开始这个这里是比较课程啊,你传进来的obj开始就是一个Course对象,只不过传进来的时候是向上转型自动转程Object类,而在equals方法中需要比较Course里面的属性内容,所以就要把传进来的Obj再强制转型为Course。还有就是如果传进来的不是Course对象,是不可能走到这一步的,因为前面有instanceof来比较是不是Course对象。
慕移动7208282 提问者
坚持每天都看 回复 慕移动7208282 提问者
慕移动7208282 提问者 回复 坚持每天都看
举报
Java中你必须懂得常用技能,不容错过的精彩,快来加入吧
5 回答重写equal中的obj强转为Course问题
4 回答由if(!(obj instanceof Course)) return false;若obj已经是Course类型,继续执行下面这句Course course=(Course)obj;为什么还要将obj转换成course类型?
3 回答equal重写中既然已经判断了obj是course 类型的.......为什么还要把它再强转成course类型进行值的比较?
2 回答equal重写中既然已经判断了obj是course 类型的.......为什么还要把它再强转成course类型进行值的比较?
3 回答obj不是已经是一个非空的Course类对象了吗?为什么还有Course course=(Course)obj;既然都是Course类的对象了为什么还要强转?