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

来源:6-1 学生选课---判断 List 中课程是否存在

慕函数1733451

2017-04-12 09:57

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

写回答 关注

2回答

  • 慕粉1308537541
    2017-04-12 16:25:11
    已采纳

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

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

    慕函数173...

    非常感谢!

    2017-04-13 07:53:28

    共 1 条回复 >

  • 慕容6072474
    2017-08-10 16:14:46

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

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

Java入门第三季

Java中你必须懂得常用技能,不容错过的精彩,快来加入吧

409792 学习 · 4340 问题

查看课程

相似问题