聚合国内IT技术精华文章,分享IT技术精华,帮助IT从业人士成长

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

2014-05-22 10:50 浏览: 601895 次 我要评论(0 条) 字号:

本节,我们将通过一系列的图片来解释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》走起!



网友评论已有0条评论, 我也要评论

发表评论

*

* (保密)

Ctrl+Enter 快捷回复