总结一下在course2中为什么contains方法会返回false(欢迎大家讨论)

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

qq_慕虎6321845

2020-07-12 15:38

我的理解是:1.因为Course course2=new Course(course.id,course.name),而course是Course course=CoursesToSelect.get(0);

course来源于CoursesToSelect,course2来源于course

2.这就相当于course2从CourseToSelect中copy了一份,但是没有存放到CoursesToSelect中,加上CoursesToSelect.add(course2);contains就返回true;

3.问题来了,在之前没有传入CoursesToSelect.add(course2)中,为什么CoursesToSelcet.contains中的()还有course2的下拉选项,这是什么原因?

写回答 关注

2回答

  • qq_慕莱坞0003151
    2020-07-29 16:04:53

    今天为什么视频看不了了

  • 慕圣8586546
    2020-07-27 17:04:52

    course2是new得到的,和course的内存地址不同了,contains用equals比较的,所以会返回false吧(新手理解,仅供参考)

    weibo_...

    equals只比较值,”==“是比较值和内存地址即判断字符串是否是同一个对象。 对老师讲解的这个也有疑问

    2021-04-15 12:03:31

    共 1 条回复 >

Java入门第三季

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

409792 学习 · 4340 问题

查看课程

相似问题