Java: In Java, which comparison about equals() and hashCode() Contract is accurate?

Difficulty:

Easy

Questions:

1

Time Limit:

2 minutes

Passing Score:

100%

Question

In Java, which comparison about equals() and hashCode() Contract is accurate?

  1. There is no practical difference in behavior, performance, or API design when equals() and hashCode() Contract is involved.
  2. hashCode narrows the candidate bucket in hash-based collections, and equals confirms actual logical equality.
  3. The oldest option related to equals() and hashCode() Contract is always the right production choice regardless of context.
  4. 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