java面试题网

普通会员

260

帖子

9

回复

161

积分

楼主
发表于 2018-03-22 10:01:11 | 查看: 609| 回复: 0

对。

①如果对象要保存在HashSet或HashMap中,它们的equals相等,那么,它们的hashcode值就必须相等。因为HashSet和HashMap在保证值唯一的时候,会先调用hashcode(),如果相同,再调用equals()方法,如果不同,则“类似于桶结构一样”挂在一个hashcode值上

②如果不是要保存在HashSet或HashMap,则与hashcode没有什么关系了,这时候hashcode不等是可以的,例如arrayList存储的对象就不用实现hashcode,当然,我们没有理由不实现,通常都会去实现的。



您需要登录后才可以回帖 登录 | 立即注册

java面试题网无聊看看网与java建站系统提供技术支持V2.1 网站地图 © 2016-2018