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

 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));是不是就不用比较哈希码了

当然是报错的


慕粉小蜗牛
浏览 1532回答 1
1回答

_潇潇暮雨

可以针对某些属性进行比较,例如:对于课程,只要课程名字相同我们就可以认为课程相同。你需要重写hashCode和equals两个方法(PS:Eclipse可以根据属性自动生成)。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java