网上已经对此进行了,很详细的解答。我再这里就不会画蛇添足了。直接收集了,一些对我很有帮助的文章。
“==”、equals和hashCode有什么区别:
http://blog.youkuaiyun.com/dove_knowledge/article/details/71027170
Object.hashCode()方法与System.identityHashCode(object)的区别:
http://blog.youkuaiyun.com/zh921112/article/details/34807145
详解重写equals()方法就必须重写hashCode()方法的原因:
http://blog.youkuaiyun.com/u013679744/article/details/57074669
如何正确的重写equals() 和 hashCode()方法:
http://blog.youkuaiyun.com/zzg1229059735/article/details/51498310
重载equals方法时要遵守的通用约定–自反性,对称性,传递性,一致性,非空性
https://www.cnblogs.com/ttylinux/p/6539436.html