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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© storer 中级黑马   /  2015-6-10 21:46  /  639 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

一只没有搞清楚这怎么用这个和eqauls都不是很了解

4 个回复

倒序浏览
有些集合的底层数据结构是哈希表结构的,比方说HashSet,,HashMap,他们在进行数据唯一行存储的时候,要先算出这个对象元素的哈希值hashCode(),如果哈希值相同再调用对象的equals()进行具体内容的比较,你在对象所在类上定义这两个方法,就可以按照你自己的意愿进行唯一性对象的存储
回复 使用道具 举报
hashcode通过计算类的属性来计算hashCode值,如果这个hashcode不存在,就说明这个对象是一个new的对象,如果存在,比如100=2+98 =50+50,就是我们存在相同的hashCode时,也可能是有不同的对象产生的,因此必须自定义自己的equals方法,来判定该类的对象是否存在集合中。。。。
回复 使用道具 举报
当然如果你需要的话,我可以给你讲一下类属性对应的hashcode的方式。。。。
回复 使用道具 举报
eqauls比较的是两个字符串是否相等,而hashCode比较的是它们的哈希编码是否相等。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马