Diagram to show Java String’s Immutability
Here are a set of diagrams to illustrate Java String's immutability.
1. Declare a string
The following code initializes a string s.
String s = "abcd"; |
The variable s stores the reference of a string object as shown below. The arrow can be interpreted as "store reference of".
2. Assign one string variable to another string variable
The following code assign s to s2.
String s2 = s; |
s2 stores the same reference value since it is the same string object.
3. Concat string
When we concatenate a string "ef" to s,
s = s.concat("ef"); |
s stores the reference of the newly created string object as shown below.
In summary, once a string is created in memory(heap), it can not be changed. String methods 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 using StringBuilder.
<pre><code> String foo = "bar"; </code></pre>
Pingback: Bangalore Cheap Escorts Sevices()
Pingback: Pune Escorts Services Call Girls()
Pingback: Sruthi Pathak Bangalore Female Escorts()
Pingback: Sruthi Pathak Escorts in Bangalore()
Pingback: 十个最常见的Java字符串问题_spring_java工作者()
Pingback: Top 10 questions of Java Strings | 留学生程序代写网(在线辅导|免费讲解)()
Pingback: 8张图理解Java-小林博客()
Pingback: 8张图理解Java | Minusの写字本()
Pingback: 十个最常见的Java字符串问题 | 程序员之家()
Pingback: 8张图理解Java - 一叶网()
Pingback: 8张图理解Java - OkayWit()
Pingback: 8张图理解Java 丨 Who am I ?()
Pingback: 图表展示Java中String类型的不可变性Java|翻译 译邻 | 译邻()
Pingback: 图表展示Java中String类型的不可变性 - 译邻()
Pingback: 讲故事,学(Java)设计模式—建造者模式 - Noblog其他 | Noblog()
Pingback: 8张图理解Java - Noblog其他 | Noblog()
Pingback: Youth Fringe | 8张图理解Java()
Pingback: 8张图理解Java | 余哥技术博客()
Pingback: 8张图理解Java | haleywang()
Pingback: IT-Homer 博客 » 8张图理解Java()
Pingback: 免费Simple Java (非常简单的英文) - IT新闻()
Pingback: 免费Simple Java (非常简单的英文) | | Evolution Unit 进化Evolution Unit 进化()
Pingback: 免费Simple Java (非常简单的英文) | 我爱互联网()
Pingback: String is passed by “reference” in Java | Air real touch - A Geek's think()
Pingback: Java Basic Interview Questions | josephksamuel()
Pingback: String is passed by “reference” in Java | zeng qiangsheng()
Pingback: Java in Diagram #java | A Listly List()
Pingback: String is passed by “reference” in Java(Java中String是引用传递)()
Pingback: String不变性 « 努力中的黑马()
Pingback: 2013年图说Java —— 理解Java机制最受欢迎的8幅图 - 编程 - 开发者()
Pingback: 图说Java —— 理解Java机制最受欢迎的8幅图 - 编程 - 开发者()
Pingback: Top 8 Diagrams for Understanding Java | ZhongYin Zhang()
Pingback: 图说Java « 优大网()
Pingback: 用来理解 Java 编程语言的 8 个图表 | 小四个人博客()
Pingback: 8张图助你更好地理解Java - 程序员 - 开发者第2293600个问答()
Pingback: 8张图助你更好地理解Java - 程序员 - 开发者第2293600个问答()
Pingback: 图解Java 编程 | ajaxj 技术笔记()
Pingback: 8 张图助你更好地理解 Java 编程 | 扬智IT实验室()
Pingback: 用来理解 Java 编程语言的 8 个图表 | Hoki自居地()