Junior — Middle
Why is a String object in Java immutable?
sobes.tech AI
Answer from AI
A String object in Java is immutable for several reasons:
- Security: Immutability allows strings to be used as keys in collections and in multithreaded environments without the risk of data modification.
- Caching and reuse: The JVM can cache string literals and reuse them, saving memory.
- Simplified implementation: Immutable objects are easier to implement and debug because their state does not change after creation.
Internally, a string stores characters in a char[] array, which is declared as final, and methods that modify the string actually create a new String object rather than changing the existing one.