下面用一组图来说明java中字符串的不变性。

 

画图说明Java字符串的不变性

String s = "abcd";

s存储着这个字符串对象的引用,下面图中的箭头应该被理解为“存储……的引用”。

 

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

String s2 = s;

s2和s存储相同的引用值,因为这里是同一个字符串对象。

 

3.字符串连接

s2 = s2.concat("ef");

现在,s2存储一个新创建的字符串对象的引用。

 

总结

一旦在内存(堆)中创建一个字符串,它就不能被改变。我们应该注意,所有用在String上的方法,并不改变字符串本身,而是返回一个新的字符串。

如果需要一个可以被修改的字符串,我们将会使用StringBuffer和StringBuilder,否则每次都会创建一个新的字符串,将会浪费大量时间用于垃圾回收。这里是一个StringBuilder的用法。

 

原文出处:http://www.programcreek.com/java-tutorials/
译文出处:http://www.cnblogs.com/hellovenus/

相关文章:

  • 2021-12-23
  • 2021-09-02
  • 2021-06-17
  • 2021-08-05
  • 2022-12-23
  • 2022-01-02
  • 2021-04-13
  • 2021-05-25
猜你喜欢
  • 2022-01-16
  • 2021-12-04
  • 2021-12-07
  • 2022-01-16
  • 2022-12-23
  • 2021-04-20
  • 2021-06-23
相关资源
相似解决方案