作用
hashCode():比较对象是否相等一致
equals():比较对象是否相等一致
作用是一样的??????
区别
equals():比较的很全面,很复杂,那么相对来说效率低。
hashCode():只要生产一个hash值进行比较就可以了,效率高。
这样的话直接用hashCode,废弃equals()??????
说明
1、equals()相等的,hashCode()值必定相同。
2、hashCode()值相同的,equals()不一定相等。
3、hashCode()值不相同的,equals()一定不相等。
总结:hashCode()不一定可靠。
往下看
使用
1、先使用hashCode()比较
2、如果相等,再使用equals()比较
总结:这样可以大大提高对象比较的效率,同时保证了绝对正确性
应用场景
这种大量的并且快速的对象对比一般使用在hash容器中,比如
HashSet,HashMap,HashTable等等