== 解读:
对于基本类型和引用类型 == 的作用效果是不同的,如下所示:
基本类型:比较的是值是否相同;
引用类型:比较的是引用是否相同;
equals 解读:
equals 本质上就是 ==,只不过 String 和 Integer 等重写了 equals 方法,把它变成了值比较。
equals 默认情况下是引用比较,只是很多类重写了 equals 方法,所以一般情况下 equals 比较的是值是否相等。
equals 和 hashcode:
如果两个对象equals,Java运行时环境会认为他们的hashcode一定相等;
如果两个对象不equals,他们的hashcode有可能相等;
如果两个对象hashcode相等,他们不一定equals;
如果两个对象hashcode不相等,他们一定不equals;
原文:https://www.cnblogs.com/zhou-xian-sheng/p/12519634.html