简易Java(06):图解Java字符串的不可变性
本节,我们将通过一系列的图片来解释Java String的不可变性。
1、声明一个字符串
String s = "abcd";
s
存放了到字符串对象的引用。下面图片中的箭头就代表这种“存放引用”。
2、将一个字符串变量赋值给另外一个字符串变量
String s2 = s;
s2
变量存放了同样的引用值。所以,它是同样的字符串对象。
3、合并字符串
s = s.concat("ef");
s
变量存放了一个指向新创建字符串对象的应用。
4、总结
一旦一个字符串在内存(堆栈)上创建,这个字符串将不可改变。我们应该注意到String
类的所有方法都不改变字符串本身,而是返回一个新的字符串。
如果我们需要一个可以改变的字符串,我们可以使用StringBuffer
或者StringBuilder
。否则,因为每次都是创建一个新的字符串。所以,这将浪费好多时间在垃圾回收上。
《Simple Java》是一本讲解Java面试题的书。讲解也有不少独特之处,为了面试,《简易Java》走起!
作 者: D瓜哥,https://www.diguage.com/
原文链接:https://wordpress.diguage.com/archives/87.html
版权声明:非特殊声明均为本站原创作品,转载时请注明作者和原文链接。
原文链接:https://wordpress.diguage.com/archives/87.html
版权声明:非特殊声明均为本站原创作品,转载时请注明作者和原文链接。