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

equal重写中既然已经判断了obj是course 类型的.......为什么还要把它再强转成course类型进行值的比较?

有人说:从list中提出来的是object基本类型,需要强转!我想起之前foreach输出时,也是需要把从list中提出来的实例进行类型强转,然后再打印输出,可是问题是既然提出来的实例是object基础类,那么用obj instanceof course这条指令还能判断类型?

正在回答

2 回答

equals方法是Object类中的。判断为真说明类型相同,obj在被强转成Course类型之前相当于被向上转型为Object类型,这里只是再一次转回Course类型。如果说obj不是Course类型的话,这里的强转是不会成功的。想要更多了解的话,建议多看看引用类型的强转。

我也是小白,多看多想多练,会有成绩的,大家一起加油吧!

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

慕函数1733451 提问者

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

楼上回答我认为错误。obj instanceof Course 判断obj是不是Course的实例或Course子类实例。

如果为子类实例则需要qi强转

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

举报

0/150
提交
取消

equal重写中既然已经判断了obj是course 类型的.......为什么还要把它再强转成course类型进行值的比较?

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