Question
When should a Java developer choose equals() and hashCode() Contract deliberately?
- Choose equals() and hashCode() Contract mainly when you want to postpone validation and fix problems manually later.
- Choose equals() and hashCode() Contract whenever you want the code to look more advanced, even if the design gets less clear.
- Implement both methods when objects act as HashMap keys or HashSet members.
- Choose equals() and hashCode() Contract only to avoid modeling domain rules explicitly in Java code.
Hint
Think about the production scenario where the choice genuinely improves the code.
Answer and rationale
Correct answer: C. Implement both methods when objects act as HashMap keys or HashSet members.
Implement both methods when objects act as HashMap keys or HashSet members. Interviewers often ask this to see whether you can connect the concept to real design decisions.
Track: Java