为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

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

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

https://img1.sycdn.imooc.com//5c88c57a0001e30112130574.jpghttps://img1.sycdn.imooc.com//5c88c57a0001d3e812020575.jpg


正在回答

4 回答

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

0 回复 有任何疑惑可以回复我~
#1

霸气小肆毛 提问者

好的,谢谢啦, List中可以用这样新建一个对象,然后通过重写的remove方法,将其去除,Set中这样的方法不行,。
2019-03-14 回复 有任何疑惑可以回复我~
#2

霸气小肆毛 提问者

刚才手贱又试了一下,Set中删除新建的new Course(id,name)课程是可以的,图在最下面,但是我不知道昨天的问题出在哪里!!!
2019-03-14 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~
#1

霸气小肆毛 提问者

添加代码在上面,而且你看他最后输出的也有“01”“数学”
2019-03-13 回复 有任何疑惑可以回复我~
#2

霸气小肆毛 提问者

代码在下面图里面
2019-03-13 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信