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

set则会比较equals和哈希码,为什么set不能进一步比较name这样还有比较哈希码吗?

set则会比较equals和哈希码,为什么set不能进一步比较name这样还有比较哈希码吗?

慕粉小蜗牛 2016-06-21 18:32:05
 Course course2=new Course();   course2.name=name;  System.out.println("新创建课程:"+course2.name);  System.out.println("备选课程是否包含课程:"+course2.name+  ","+student.courses.contains(course2));、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、最后换成 System.out.println("备选课程是否包含课程:"+course2.name+   ","+student.courses.namecontains(course2。name));是不是就不用比较哈希码了当然是报错的
查看完整描述

1 回答

?
_潇潇暮雨

TA贡献646条经验 获得超225个赞

可以针对某些属性进行比较,例如:对于课程,只要课程名字相同我们就可以认为课程相同。你需要重写hashCode和equals两个方法(PS:Eclipse可以根据属性自动生成)。

查看完整回答
1 反对 回复 2016-06-21
  • 慕粉小蜗牛
    慕粉小蜗牛
    具体属性比较了还有哈希码吗? 没有了course包含ID,name,比较course.name哈希码还有意义吗?
  • _潇潇暮雨
    _潇潇暮雨
    hashCode可以自己重写啊。
  • 1 回答
  • 0 关注
  • 1566 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信