equals 与 hashCode 方法

对于==,如果作用于基本数据类型的变量,则直接比较其存储的 “值”是否相等;

    如果作用于引用类型的变量,则比较的是所指向的对象的地址

对于equals方法,注意:equals方法不能作用于基本数据类型的变量

    如果没有对equals方法进行重写,则比较的是引用类型的变量所指向的对象的地址;

    诸如String、Date等类对equals方法进行了重写的话,比较的是所指向的对象的内容。

必须保持equals 与 hashCode 方法逻辑的一致性
Object 类中 equals 的实现就是直接用 == 比较
String、Date等类重写 equals 后,也重写了 hashCode,以保持逻辑一致性

猜你喜欢

转载自blog.csdn.net/u013738122/article/details/80782950