为何要重写Course下的hashCode()和equals()方法,我这样理解对不对?
本来HashSet下的contains()方法是比较student.courses下的元素的哈希码与course2的哈希码是否一样,这当然是不一样的所以返回的是false。而重写之后,是比较student.courses下的元素的name属性的哈希码与course2.name的哈希码是否一样,它们是一样的,所以返回的是true。
这样理解对么?一直都一知半解的。。。
本来HashSet下的contains()方法是比较student.courses下的元素的哈希码与course2的哈希码是否一样,这当然是不一样的所以返回的是false。而重写之后,是比较student.courses下的元素的name属性的哈希码与course2.name的哈希码是否一样,它们是一样的,所以返回的是true。
这样理解对么?一直都一知半解的。。。
2016-01-24
举报