Question
In Java, which comparison about equals() and hashCode() Contract is accurate?
- There is no practical difference in behavior, performance, or API design when equals() and hashCode() Contract is involved.
- hashCode narrows the candidate bucket in hash-based collections, and equals confirms actual logical equality.
- The oldest option related to equals() and hashCode() Contract is always the right production choice regardless of context.
- Differences around equals() and hashCode() Contract are mostly cosmetic, so correctness and maintainability do not change.
Hint
Focus on the behavior or tradeoff, not just the keyword.
Answer and rationale
Correct answer: B. hashCode narrows the candidate bucket in hash-based collections, and equals confirms actual logical equality.
hashCode narrows the candidate bucket in hash-based collections, and equals confirms actual logical equality. This is the comparison that usually separates memorization from understanding.
Track: Java