hashcode是用来鉴定两个对象是否相等的。当然我们知道我们比较的时候用的是equals方法。
一般来说equals方法是给用户调用的,如果你想判断两个对象是否相等,可以直接重写equals方法,然后在代码中调用,就可以判断两个对象是否相等了。
hashcode方法一般用户不会去调用,比如在hashmap中,key是不可以重复的,那么它在判断key不可以重复就是用了hashcode方法,而且也用到了equals方法
,这里的不重复指的是hashcode和equals有一个不等就可以了。所以hashcode相当于一个对象的编码,就好像文件中的md5
。它和equals不同的是它的返回值为int类型的,比较起来不直观。