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

发布时间:2020-10-16 22:15:54 作者:lijiao
来源:脚本之家 阅读:179

该文章是图说Java系列文章中的一篇

定义一个字符串

String s = "abcd";

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

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

使用变量来赋值变量

String s2 = s;

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

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

字符串连接

s = s.concat("ef");

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

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

总结

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

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持亿速云。

推荐阅读:
  1. Java数组协变与范型不变性的案例
  2. Java中数组协变和范型不变性的示例分析

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

java 字符串 不变性

上一篇:vue使用recorder.js实现录音功能

下一篇:js实现3D粒子酷炫动态旋转特效

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》