Core Java · interview question
Given the following code snippet, identify the issue when storing objects in a HashSet?
Multiple choiceHardchapter-4-curatedpremiumcore-javaequals-and-hashcode-in-collections
class Product {
private String name;
private double price;
// Constructors, getters, setters
public boolean equals(Object o) { /* implementation */ }
public int hashCode() { /* implementation */ }
}Answer and explanation
Correct answer
B. The Product class uses mutable fields.
Why
Even if the Product class overrides equals and hashCode, using mutable fields can lead to issues where the product's state changes after being added to the HashSet, potentially causing the object to become 'invisible' to the set operations if the hash code changes.
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?