一、要知道,涉及到hash算法的,重写equals方法,必须重写hashcode方法;否则,equals即使等了,hashcode不等,他们也不会相等。
二、但没有涉及到hash算法的,可以不考虑hashCode方法,就能判断他们是否相等。
三、“两个对象值相同(x.equals(y) == true),但却可有不同的hash code”这句话,问的是“可以有吗?”可以,是因为没有涉及到hash算法;不可以,是因为不能保证这两个对象没有涉及到hash算法。
方兄,我认为这个答出知识点就可以了,这个题问的有歧义啊。有歧义的面试题也正常,不管回答什么,答出知识点就行了。 |