对 hashcode的实现是应在User里面的 Set是不允许重复的 一般是必须重写tostring和hashcode两个方法的 没写就是默认的 这里没重写可能是忘了 或者就是不影响,楼主的理解是正确的
HashSet自带了默认的hashCode实现,如果没有特殊需求不需要自己去写,要是它没带它就不叫HashSet了
如果你要用的是个没有自带hashCode实现的集合,比如ArrayList,又想让它拥有hash特性,你才需要自己写hashCode实现
需要实现hashCode,set是不允许重复的,如果你没实现hashCode,那么,两个相同的对象都可以加入到set集合中,因为他们比较的是内存地址,如果实现了hashCode,若两个对象相同,就算两个对象内存地址不一样,set集合也不会重复加进去的
再看看别人怎么说的。
用户登录
还没有账号?立即注册
用户注册
投稿取消
文章分类: |
|
还能输入300字
上传中....