Once I studied about the advantage of a string be immutable because of something to improve performace in memory.. Can anybody explain me this please? I can't find in Internet.
Thanks a lot.
Once I studied about the advantage of a string be immutable because of something to improve performace in memory.. Can anybody explain me this please? I can't find in Internet.
Thanks a lot.
Immutable strings are cheap to copy, because you don't need to copy all the data - just copy a reference or pointer to the data.
Immutable classes of any kind are easier to work with in multiple threads, the only synchronization needed is for destruction.
Consider the alternative. Java has no const qualifier. If String objects were mutable, then any method to which you pass a reference to a string could have the side-effect of modifying the string. Immutable strings eliminate the need for defensive copies, and reduce the risk of program error.
Immutability (for strings or other types) can have numerous advantages:
Immutable strings also help avoid the temptation of using strings as buffers. Many defects in C/C++ programs relate to buffer overrun problems resulting from using naked character arrays to compose or modify string values. Treating strings as a mutable types encourages using types better suited for buffer manipulation (see StringBuilder
in .NET or Java).