Java开发之路

文章32 |   阅读 13668 |   点赞0

来源:https://blog.csdn.net/sunnyyoona

[细说Java](1)图说字符串的不变性

x33g5p2x  于2021-03-13 发布在 其他  
字(0.4k)|赞(0)|评价(0)|浏览(467)

我们用下面一组图来说明Java的不变性。

1.声明一个字符串

String s = "abcd";

s存储了字符串对象的引用。下面图片中的箭头就表示这种存储引用。

2.将一个字符串变量赋值给另外一个字符串变量

String s2 = s;

s2变量存储了同样的引用值。所以,两个变量指向同一个字符串对象。

3.合并字符串

s = s.concat("ef");

s现在存储的是新生成的字符串对象的引用。

4.总结

一旦一个字符串在内存(堆)上创建,这个字符串就不会改变。我们应该注意到String类的所有方法都不会改变字符串本身,而是返回一个新的字符串。

如果我们需要一个可以改变的字符串,我们可以使用StringBuffer或者StringBuilder。否则,因为每次都是创建一个新的字符串。

原文链接:Diagram to show Java String’s Immutability

译文链接:[图说Java]图说字符串的不变性

相关文章