问答详情
源自:6-1 学生选课---判断 List 中课程是否存在

关于重写equals方法的疑问


https://img2.mukewang.com/5c9b7745000129f904200105.jpg

如图,如果已经判断obj为Course类型,为何还要强转为Course类型?

提问者:慕斯8309269 2019-03-27 21:16

个回答

  • AlexanderW
    2019-05-02 17:17:30
    已采纳

    此时此刻,你的obj是类型是Object(因为你equals的方法中传递过来的是一个Object),你使用了instanceof只是用来判断你的obj是不是Course的一个实例,但obj本身自己还是一个Object类型。如果你不进行一次强转,那么obj就无法访问到Course的成员变量和方法,那接下来的course.name这种代码编译器都会自动报错!所以一定要进行一次强转,obj才会真正变成Course

  • 慕九州5073361
    2019-04-14 22:00:44

    同问。。