Why make a class immutable?
Inherently thread safe, and simplify the maintenance of synchronizing object access
Can provide canonical instances
Easier to reason about code, and know the state
Reduce overhead in garbage collection by potentially having more short lived instances, rather than long living survivors
Safe to use as map keys
Answers are hidden from search engines.