Java: Which practice avoids a common mistake with equals() vs ==?

Difficulty:

Medium

Questions:

1

Time Limit:

2 minutes

Passing Score:

100%

Question

Which practice avoids a common mistake with equals() vs ==?

  1. Ignore the equals() vs == issue and rely on team discipline instead of APIs or contracts.
  2. Silence the equals() vs == problem by using raw types, broad catches, or shared mutable state.
  3. If you override equals, you must also provide a consistent hashCode implementation for collection behavior to stay correct.
  4. Prefer the version of equals() vs == that makes behavior less predictable as long as the code compiles.

Hint

Look for the option that protects correctness instead of hiding the problem.

Answer and rationale

Correct answer: C. If you override equals, you must also provide a consistent hashCode implementation for collection behavior to stay correct.

If you override equals, you must also provide a consistent hashCode implementation for collection behavior to stay correct. This is a common failure mode in real Java code and a frequent interview follow-up.

Track: Java