美文网首页
Diagram to show Java String’s Im

Diagram to show Java String’s Im

作者: 简书小书童 | 来源:发表于2016-08-25 17:36 被阅读13次

图解java中String的不可变性

翻译自 What is string immutability

  1. 定义字符串
String s = "abcd";

s存储了字符串对象"abcd"的引用,也可以理解为s指向字符串对象"abcd"。


  1. 把一个String变量赋值给另一个String变量
String s2 = s;

s2也存储了字符串对象"abcd"的引用,s和s2都指向字符串对象"abcd"。


  1. 字符串连接
s = s.concat("ef");

这时s存储了一个新的字符串对象的引用,s指向新的字符串对象"abcdef"。


总结:
字符串一旦在内存(堆)中创建就不能改变。需要注意的是,String对象的所有方法都不会改变字符串本身,而是返回一个新的字符串对象。
如果需要可变的字符串,则需要使用StringBuffer或StringBuilder。否则每次创建新的字符串对象,将导致大量的时间耗费在垃圾回收(Garbage Collection)上。

StringBuilder mutableString = new StringBuilder();
mutableString.append("abcd");
mutableString.append("ef");
mutableString.toString();

相关文章

网友评论

      本文标题:Diagram to show Java String’s Im

      本文链接:https://www.haomeiwen.com/subject/luxasttx.html