equals()与hashCode()
两个都可以用来判断两个对象是否相同一致。
- hashCode相同的不一定是同一个对象;hashCode不同的一定不是相同对象
- equals相同的一定是相同对象,是绝对可靠的
既然equals这么可靠,那为什么还要用hashCode进行比较呢?
由于equals方法对很多条件进行了比较,因此性能比hashCode差。
一般比较两个对象是否相同的方法是:
先比较hashCode,不同则不是相同对象;
否则再用equals比较
这个方法普遍用于集合,例如HashMap的get、put方法都是这样比较两个key是否一致的