文档章节

两个对象值相同(x.equals(y)==true),但却可有不同的hash code,这句话对不对

pczhangtl
 pczhangtl
发布于 2014/08/02 08:09
字数 176
阅读 612
收藏 1

equals方法对比的是元素的值,可以hashcode不同, 但是如果我们override了自己的equals方法同时也应该重载hashcode方法。假设有obj1和obj2相等, 这时候obj1作为key放入map后,用obj2作为key来获取obj1存入的对象,可能是获得为null.因为Map会先用自己的hash方法处理obj2的hashcode,然后根据这个值再去查找。因为obj1和obj2的hashcode不同,则拿不到obj1存入的值。当然hashcode的重写也要有一定的技巧,否则会影响map的存取效率。

 

© 著作权归作者所有

pczhangtl
粉丝 46
博文 707
码字总数 113318
作品 0
浦东
高级程序员
私信 提问
加载中

评论(1)

凯尔特Queen
凯尔特Queen
hashcode值应该相同.
java 当中的hashcode的作用

以下是关于HashCode的官方文档定义: hashcode方法返回该对象的哈希码值。支持该方法是为哈希表提供一些优点,例如,java.util.Hashtable 提供的哈希表。 hashCode 的常规协定是: 在 Java 应...

疯狂的兔子
2014/12/03
0
0
List.removeAll() 引发的思考

Think It Summary 不仅是个错误使用问题,反应自己对这块的只是库存不足 removeAll 方法流程 最终是内存地址相同的时候,才判断有效(这里在删除对象的时候,必须内存地址一样才能删除,除非重...

杨春炼
2018/08/02
0
0
Java集合浅析

Java集合类框架图 Collection List | 类型 | 数据结构 | 查询速度 | 插入速度 | 是否线程安全 || ArrayList | 数组 | 快 | 慢 | 否 || LinkList | 双向链表,| 慢 | 快 | 否 | Vector 数组 ...

wjk_snail
2016/01/19
86
0
Java核心技术第五章——2.Object类

Object类:所有类的超类 Object类是Java中所有类的始祖,在Java中每个类都是由它扩展而来的。但是并不需要这样写: public class Emloyee extends Object 如果没有明确的指出超类,Object就被...

Johnson木木
2018/08/02
0
0
C# 中 equals( ) 和 == 的区别和用法

Equals: 下面的语句中,x、y 和 z 表示不为 null 的对象引用。 * 除涉及浮点型的情况外,x.Equals(x) 都返回 true。 * x.Equals(y) 返回与 y.Equals(x) 相同的值。 * 如果 x 和 y 都为 NaN,...

酒不醉心
2018/09/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

任务调度-单体应用定时任务解决方案

1. 应用场景: 单体应用(并发少、就公司内部使用)、业务比较简单、单一、稳定,传统行业首选,项目初期。 2. 主要方式: Spring XML配置方式,timer。 <bean id="cycleBonusTimer" class="...

秋日芒草
16分钟前
2
0
EditText中singleLine过期替代方法

android:lines="1" android:inputType="text"

球球
30分钟前
0
0
删除 Tomcat-webapps 目录自带项目

本文将 %CATALINA_HOME% 目录称为“tomcat”目录。 1.webapps目录中的项目 在 Tomcat 8.0 的 tomcat/webapps 目录中,含有 5 个 Tomcat 自带的 Web 项目,如下所示: docs 有关于 Tomcat 的介...

Airship
34分钟前
3
0
好文:华杉:我等用功,不求日增,但求日减。减一分人欲,则增一分天理,这是何等简易!何等洒脱!

#写在前面1.怎么理解“减一分人欲,则增一分天理,这是何等简易!”?1)华杉提倡 “一劳永逸” 排除浪费,少干活,多赚钱,一战而定,降低作业成本。2)华杉提倡学海无涯,回头是岸...

阿锋zxf
44分钟前
3
0
vue 的bus总线

bus声明 global.bus = new Vue() 事件发送 controlTabbar () {global.bus.$emit('pickUp', 'ddd')}, 事件接收 global.bus.$on('pickUp', (res) => {this.isFocus = true})......

Js_Mei
49分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部