借鉴:https://www.iteye.com/blog/bijian1013-1972404
https://www.cnblogs.com/guanmu/p/4894430.html
一、前言
举个例子:“生了小孩”是“女人”的充分条件。“女人” 是 “生了小孩” 的必要条件。
A:生了小孩 B: 女人
如果A,一定B。(生了小孩的人一定是女人)
如果!B,一定非A。(不是女人,一定生不了孩子)
但是!
如果 !A ,B或者非B。(没有小孩,可能是女人,也可能是男人)
如果B,可能A也可能非A。(女人不一定都生了小孩)
所以,个人认为:
在java中,equals是hashcode的充分条件。
首先,Java对象相同指的是两个对象通过eqauls方法判断的结果为true。
Java对象的eqauls方法和hashCode方法是这样规定的:
1、相等(相同)的对象必须具有相等的哈希码(或者散列码)。
2、如果两个对象的hashCode相同ÿ