Java基础之equals与==的区别以及hashCode与equals方法解析
一.equals与==
1.equals方法
a.默认情况下如果是继承超类的equals方法其实底层也是用了==,也是比较引用的地址,但是我们可以重写这个方法,让它按照我们想要的方式去比较对象的内容。
b.属于Object类的方法,可以重写,私人订制。
2.==
a.用于比较变量或对象的内存地址一不一致
b.逻辑运算符
二.hashCode与equals方法解析
1.两者相同点
a.其实都是拿来判断对象的值是否相等的方法
b.都属于Object里面的方法
2.两者区别
a.两个对象,如果equals方法判断为true,那肯定相等。
b.两个对象使用hashCode得出为true,不一定相等,不同对象也可能产生一样的hashcode,它不是绝对可靠的。
3.使用实例
a.在一些要求不能重复的容器如set下的,新元素put进来时候要和容器里面的进行比对,这个时候就是先用hashCode方法,比较快,如果这一步就死了,那就死了。如果过了,再用equals方法。

浙公网安备 33010602011771号