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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 骑着乌龟去旅行 中级黑马   /  2014-11-30 18:22  /  662 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

我想问一下HashCode()到底有啥作用,应该怎么用呢,我听了半天,HashCode()居然还涉及到内存泄露的问题

1 个回复

倒序浏览
本帖最后由 FlyFish 于 2014-12-1 10:42 编辑

Object的hashCode方法是返回对象的哈希吗值。它造成内存泄露的原因是更改了参与hashcode计算的变量的值,
如:
定义人:
Person 有姓名,年龄和对应的get/set方法。
将人的实例存入哈希表结构的集合中时,会自动计算每个对象的哈希值,存入后,调用人的set方法为对象属性指定新值,这时,会重新计算hash值,会在集合中存在两个引用名称相同而哈希值不同的对象元素,执行remove集合元素的操作时,调用者以为移除了该对象的引用,其实移除的只是一个。

评分

参与人数 1技术分 +1 收起 理由
杨佳名 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马