对象相等和对象相同不是一个概念。
判断两个对象object1和object2相等用equals()方法,若该方法返回true,则表明这两个对象相等。但是当在比较大的集合中找出相等的对象用equals()方法比较消耗性能。
所以:
1、如果object1==object2,则说明这两个变量引用的是同一个对象,那么就不需要进行进一步比较。
2、如果object1.hashCode()!=object2.hashCode(),则这两个对象必定不相等,那么就不需要进行进一步比较。
3、如果object1.hashCode()==object2.hashCode(),则需要进行object1.equals(object2)判断。返回true则相等,返回false则不等。