首页 > Java, 挨踢(IT) > 简易Java(06):图解Java字符串的不可变性

简易Java(06):图解Java字符串的不可变性

2014年5月20日 发表评论 阅读评论 1,318 人阅读    

本节,我们将通过一系列的图片来解释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
版权声明:非特殊声明均为本站原创作品,转载时请注明作者和原文链接。

分类: Java, 挨踢(IT) 标签: , ,
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.