Sail E0 Webinar
Question

Which two statements are true about comparing two instances of the same class, given that the equals() and hashCode() methods have been properly overridden?

    1. If the equals() method returns true, the hashCode() comparison == must return true.

    2. If the equals() method returns false, the hashCode() comparison != must return true.

    3. If the hashCode() comparison == returns true, the equals() method must return true.

    4. If the hashCode() comparison == returns true, the equals() method might return true.


Options:
A .  1 and 4
B .  2 and 3
C .  3 and 4
D .  1 and 3
Answer: Option A

(1) is a restatement of the equals() and hashCode() contract. (4) is true because if the hash

Code() comparison returns ==, the two objects might or might not be equal.

(2) and (3) are incorrect because the hashCode() method is very flexible in its return values, 

and often two dissimilar objects can return the same hash code value.



Was this answer helpful ?
Next Question

Submit Solution

Your email address will not be published. Required fields are marked *

Latest Videos

Latest Test Papers