Question
Which practice avoids a common mistake with equals() vs ==?
- Ignore the equals() vs == issue and rely on team discipline instead of APIs or contracts.
- Silence the equals() vs == problem by using raw types, broad catches, or shared mutable state.
- If you override equals, you must also provide a consistent hashCode implementation for collection behavior to stay correct.
- 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