前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >3张图彻底了解Java中字符串的不变性

3张图彻底了解Java中字符串的不变性

作者头像
Java团长
发布2018-08-06 15:09:09
2510
发布2018-08-06 15:09:09
举报
文章被收录于专栏:微信公众号:Java团长

定义一个字符串

代码语言:javascript
复制
String s = "abcd";

s中保存了string对象的引用。下面的箭头可以理解为“存储他的引用”。

使用变量来赋值变量

代码语言:javascript
复制
String s2 = s;

s2保存了相同的引用值,因为他们代表同一个对象。

字符串连接

代码语言:javascript
复制
s = s.concat("ef");

s中保存的是一个重新创建出来的string对象的引用。

总结

一旦一个string对象在内存(堆)中被创建出来,他就无法被修改。特别要注意的是,String类的所有方法都没有改变字符串本身的值,都是返回了一个新的对象。

如果你需要一个可修改的字符串,应该使用StringBuffer 或者 StringBuilder。否则会有大量时间浪费在垃圾回收上,因为每次试图修改都有新的string对象被创建出来。

  • 原文:http://www.hollischuang.com/archives/1230
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-01-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Java团长 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 定义一个字符串
  • 使用变量来赋值变量
  • 字符串连接
  • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档