In Java, string objects are immutable in nature which simply means once the String object is created its state cannot be modified.
Whenever you try to update the value of that object instead of updating the values of that particular object, Java creates a new string object.
Java String objects are immutable as String objects are generally cached in the String pool. Since String literals are usually shared between multiple clients, action from one client might affect the rest. It enhances security, caching, synchronization, and performance of the application.