==:判断对象地址是否相等,即是否引用同一个对象。
equals()作用:判断两个对象是否等价。
情况1,类没有覆盖equals()方法。则通过equals()比较该类的两个对象时,等价于通过“==”比较这两个对象。
情况2,类覆盖了equals()方法。一般,我们都覆盖equals()方法来两个对象的内容相等;若它们的内容相等,则返回true(即,认为这两个对象相等)。
hashCode()获取哈希码,返回一个int值,确定对象在哈希表中的索引位置。
当equals()重写(override)时,hashCode()也要重写;相等的对象,hash code也相等。
1)、如果两个对象相等,那么它们的hashCode()值一定相同。
2)、如果两个对象hashCode()相等,它们并不一定相等。即哈希冲突。