- Memory conservation
- Addressing concurrency concerns
- Cache localization
Concurrency Concerns - if you change any string need to consider that more than one references may be pointing to same string , so if you will change that string all references must also be updated ( thats tough ) so a new object for changed string will be created and only that particular reference will be point to that new object hence actual object will never change.
I am not sure about cache localization ??