hashCode()与equals()相关规定
来源:互联网 发布:软件激活码破解器 编辑:程序博客网 时间:2024/05/16 00:24
1.如果两个对象相等,则hashcode必须相等。
2.如果两个对象相等,对其中的一个对象调用equals()必须返回true,也就是说a .equals(b),则 b.equals(a).
3.如果两个对象有相同的hashCode值,他们也不一定相等。但若两个对象相等,则hashcode值一定相等。
4.因此若equals()被覆盖过,则hashcode()也必须被覆盖。
5.hashCode()的默认行为实在对heap上的对象产生独特的值。如果没有override过hashCode(),则该class的两个对象怎么都不会被认为是相同的。
6.equals()的默认行为是执行==的比较。也就是说会去测试两个引用是否对上heap上同一个对象。如果equals()没有被覆盖过,两个对象永远都不会被视为相同的。因此不同的对象有不同的字节组合。
a.equals(b)必须与a.hashCode()==b.hashCode()等值。
但a.hashCode()==b.hashCode不一定要与a.equals()等值。
0 0
- hashCode()与equals()相关规定
- hashcode()与equals()
- equals与hashcode
- equals与hashcode
- java--equals与hashcode
- hashcode()与equals()
- equals与hashcode
- equals与hashCode总结
- hashcode()与equals()
- equals与hashcode
- hashCode()与equals()方法
- 重写equals()与hashCode()
- 【java】equals()与hashCode()
- hashCode与equals方法
- hashCode与equals
- hashCode与equals详解
- 关于hashCode与equals
- equals() 与 hashcode()
- 定时器
- NULL ,Nil, nil,null,<null>,(null),()
- Locking and Concurrency in Java Persistence 2.0
- 网易视频云:七夕送书 | 单身狗福利!你想看的,这里都有!
- string::size_type注意
- hashCode()与equals()相关规定
- fis3-jello搭建笔记
- 51nod oj 1021 石子归并【区间dp】
- Minicom使用
- CodeForces704B Spider Man
- iOS 变量指针记录
- Linux中sh与./下执行的问题
- Linux系统目录结构及解释
- Jquery禁用/启用按钮与文本框代码