What is string immutability?
Here are a set of diagrams to illustrate Java String's immutability.
1. Declare a string
s stores the reference of the string object. The arrow below should be interpreted as "store reference of".
2. Assign one string variable to another string variable
s2 stores the same reference value, since it is the same string object.
3. Concat string
s now stores the reference of newly created string object.
Summary
Once a string is created in memory(heap), it can not be changed. We should note that all methods of String do not change the string itself, but rather return a new String.
If we need a string that can be modified, we will need StringBuffer or StringBuilder. Otherwise, there would be a lot of time wasted for Garbage Collection, since each time a new String is created. Here is an example of StringBuilder usage.
nice Question
ReplyDelete