Junior — Middle
Does an immutable object possess a unique hashCode that does not change after creation?
sobes.tech AI
Answer from AI
In Java, an immutable object usually has a unique hashCode that does not change after creation, provided the hashCode() method is implemented correctly.
Since the object is immutable, its state does not change, and therefore the computed hashCode remains constant throughout the object's lifetime. This is important for the correct functioning of collections such as HashMap or HashSet.
For example, the String class in Java is immutable, and its hashCode is computed once and cached:
String s = "example";
int hash1 = s.hashCode();
int hash2 = s.hashCode(); // hash1 == hash2
If an object is immutable, its hashCode can be safely cached, which improves performance during frequent calls.