Core Java · interview question
Why is it a bad practice to use mutable fields in equals and hashCode implementations?
Multiple choiceMediumchapter-4-curatedpremiumcore-javaequals-and-hashcode-in-collections
Answer and explanation
Correct answer
C. Mutable fields can change and lead to inconsistent behavior in collections.
Why
Using mutable fields in equals and hashCode methods can lead to inconsistent behavior because the object’s hash code might change when the mutable field changes, causing the object to be 'lost' in hash-based collections. This violates the contract that the hash code should remain consistent during an object's lifetime.
Test yourself on Core Java
A free test with instant, explained results. No account needed.
More Core Java questions
- In a console shopping cart application, why might you separate input handling from calculations?
- What happens if a subclass does not implement an abstract method from its superclass?
- Why would you choose to use a switch statement instead of multiple if-else statements for handling order status?
- Which part of the following code is responsible for avoiding an off-by-one error?
- Why can using overly complex methods in an e-commerce application become a problem in production code?
- How can a class implementing an interface with a default method call that method from within an overridden method?