Java uses string literals mostly for memory security. Better alter copies of strings than alter main references in memory.