大神,求助!!Set的remove()方法怎么使用啊,为什么我的代码不对呢?

来源:4-11 学生选课---通过 Set 集合管理课程

霸气小肆毛

2019-03-13 16:55

我在Course中已经让其自动重写了equals()方法——请看Course截图。

明明我在添加课程时添加了课程(“01”,"数学"),为什么Set的remove()方法返回值为false

所以,在第二次输出中,01,数学还在。到底是哪里出问题啊!!!大神求助。

https://img4.mukewang.com/5c88c57a0001e30112130574.jpghttps://img2.mukewang.com/5c88c57a0001d3e812020575.jpg


写回答 关注

4回答

  • qq_宋先森_vzJSW5
    2019-03-13 17:58:03
    已采纳

    你这里是重新创建了一个新的course 对象,和之前存储的虽然内容相同,但是存放地址不同,remove需要remove你已经添加了的那个01课程,

    霸气小肆毛

    刚才手贱又试了一下,Set中删除新建的new Course(id,name)课程是可以的,图在最下面,但是我不知道昨天的问题出在哪里!!!

    2019-03-14 09:08:09

    共 2 条回复 >

  • 霸气小肆毛
    2019-03-14 09:09:51

    我用输入的形式,验证了Set的remove方法可以去除新建课程,但是不知道之前的问题出在哪里
    https://img4.mukewang.com/5c89a987000120ed10130565.jpg

  • 霸气小肆毛
    2019-03-13 17:30:18

    是通过循环添加到st.course的
    https://img1.mukewang.com/5c88cd7c0001780b11010536.jpg

  • qq_宋先森_vzJSW5
    2019-03-13 17:20:03

    你好像忘了st.course.add(); 没有添加当然就不包含呀

    霸气小肆毛

    代码在下面图里面

    2019-03-13 17:30:14

    共 2 条回复 >

Java入门第三季

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

409792 学习 · 4340 问题

查看课程

相似问题