hashCode应具备一下特性:对象
1.自反性:对于任意的引用值x,x.equals(x)必定为true
2.对称性:对于任意的引用值x 和 y,当x.equals(y)返回true,y.equals(x)也必定返回true
3.传递性:对于任意的引用值x、y和z,若是x.equals(y)返回true,而且y.equals(z)也返回true,那么x.equals(z)也必定返 回 true
4.一致性:对于任意的引用值x 和 y,若是用于equals比较的对象信息没有被修改,屡次调用x.equals(y)要么一致地返回true,要么一致地返回false
5.非空性:对于任意的非空引用值x,x.equals(null)必定返回falsehash