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

关于改写equals()方法的问题

http://img3.mukewang.com/5e73329400011ff110760978.jpg

第一个问题,55行为什么一定要return false,不可以比较两个空的对象呢?

第二个问题,62行,为什么还要分类this对象的name是不是空呢?直接像69行比较不就行了嘛?感觉有点多此一举呢?

提问者:奶尤糯米团子 2020-03-19 16:53

个回答

  • 一个大憨憨
    2020-04-04 22:45:08
    已采纳

    第一个问题:空对象不能调用equals()方法;会抛出空指针异常;           第二个问题:值为null的引用类型变量不能调用非静态方法,会抛出空指针异常;           第三个问题:return后直接会结束函数,同时返回一个返回值;你前面不管怎么执行,最后都会得到一个return语句,所以最后的return语句就多余了;        第四个问题:是执行重写之前的方法。


  • Alex_first
    2020-07-15 16:50:34

    第六十九行调用的是name的equals方法

  • 奶尤糯米团子
    2020-03-24 23:29:30

    还有两个问题,系统是怎么辨别是否用加上最后一行(75)的return true的呢?这里为什么就报错了;

    当重写的equals()方法里调用了equals()方法(如第69行),是默认执行重写前的方法吗?

  • qq_精慕门3428651
    2020-03-23 20:25:19

    这两个都是一个类型的问题,可以了解一下“空指针异常”