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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

wangda88

初级黑马

  • 黑马币:13

  • 帖子:14

  • 精华:0

© wangda88 初级黑马   /  2016-5-20 21:18  /  680 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对?哪位大神系统的解释一下hash code,我是小白,不要嘲笑我

5 个回复

倒序浏览
没有大神帮忙吗
回复 使用道具 举报
       首先,这句话是对的。这是典型java里面的equals方法,而这句话里面很明显是x和y相同,相同有两种:一、就是它们的地址值(code)相同;二、就是很简单的x和y它们是长的一模一样相同的。所以说这句话对的。
       希望能对你有用
回复 使用道具 举报
Object 中的equals如果不进行重写 是用 == 进行比较的 ==号对基本数据类型比较的是数值  对引用数据类型比较的是地址, 如果要用equals要对引用数据类型的成员比进行比较的话 需要重写 equals 方法
回复 使用道具 举报
hashCode(); 返回该对象的哈希码值  哈希值是根据哈希算法计算出来的一个值  这个值和地址值有关  但是不是实际地址值 你可以理解为地址值
回复 使用道具 举报
学到这也懵了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马