为什么重写equals前第二个对象会出现false?

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

夏木沐

2015-07-21 16:17

老师,既然contains的原理是调用equals方法遍历比较,那为什么重写equals前,新建的Course对象course2会找不到?不是值是一样的吗,只是地址不同吗?

写回答 关注

1回答

  • 管理員
    2015-07-21 19:13:23

    没看你的课程

    看样子应该是一个List,里面包含Course对象


    关于:不是值是一样的吗,只是地址不同吗?

    这你还真说对了,对象类型是比较equals的返回值,如果没有重写就用Object继承的默认equals,比地址。


    你可以试试:

    Course course=list.get(0);

    list.contains(course);// true

Java入门第三季

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

409769 学习 · 4543 问题

查看课程

相似问题