A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 阿里策 于 2013-10-15 18:21 编辑

    毕老师视频第14天第13节,毕老师举了个例子,自己复写hashCode()方法,使其返回值为定值,这样一来,所有的对象的哈希值都是一样的了,那么老师说先存进来一个,然后后来再来的再通过equals方法比较是不是和之前进来的是不是同一个对象,如果不是,就在同一个地址上接着上一个对象存储下来。我有疑问:这两个相同哈希值的对象到底该怎么存呢?不会是存的对象实体吧???
    求指教。

5 个回复

倒序浏览
用equals来比较,答案在你问的另一个贴子里解答了
回复 使用道具 举报
存的是实体对象,按照hashCode()算法的返回值将对象存到相应的hashCode区域中,hashCode()通常是根据内存地址换算出来的值,储存到hash表中,具体怎么存你可以参考张孝祥老师基础加强的视频里的26里面有对hashCode()进行分析,对你会有帮助的。
回复 使用道具 举报
To 金牌黑马 2013-10-15 17:59:02
板凳
楼主你好,如果问题已解决请将帖子状态修改为提问结束,如果未解决请继续提问,谢谢合作
如果不会修改请看解释帖:http://bbs.itheima.com/thread-89313-1-1.html
回复 使用道具 举报
郑齐育 发表于 2013-10-14 20:43
存的是实体对象,按照hashCode()算法的返回值将对象存到相应的hashCode区域中,hashCode()通常是根据内存地 ...

谢谢!明白了
回复 使用道具 举报
存的是对象地址,用地址去找堆中对象
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马