黑马程序员技术交流社区

标题: 关于hash code [打印本页]

作者: wangda88    时间: 2016-5-20 21:18
标题: 关于hash code
两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对?哪位大神系统的解释一下hash code,我是小白,不要嘲笑我
作者: wangda88    时间: 2016-5-20 21:25
没有大神帮忙吗
作者: yangyaoguang    时间: 2016-5-20 21:40
       首先,这句话是对的。这是典型java里面的equals方法,而这句话里面很明显是x和y相同,相同有两种:一、就是它们的地址值(code)相同;二、就是很简单的x和y它们是长的一模一样相同的。所以说这句话对的。
       希望能对你有用
作者: foolfeelu    时间: 2016-5-20 22:14
Object 中的equals如果不进行重写 是用 == 进行比较的 ==号对基本数据类型比较的是数值  对引用数据类型比较的是地址, 如果要用equals要对引用数据类型的成员比进行比较的话 需要重写 equals 方法
作者: foolfeelu    时间: 2016-5-20 22:17
hashCode(); 返回该对象的哈希码值  哈希值是根据哈希算法计算出来的一个值  这个值和地址值有关  但是不是实际地址值 你可以理解为地址值
作者: HeiMaZ    时间: 2016-5-20 22:22
学到这也懵了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2