字符串的不变性170509

来源:互联网 发布:公司名义开淘宝店 编辑:程序博客网 时间:2024/05/22 08:05

字符串的不变性


  • 当我们new一个string的时候可以这样
String str = "abc";

这样堆里有个abc被str指向


  • 我们再执行以下下面语句
String str1 = str;

现在堆里的abc同时被str和str1指向


  • 最后我们执行
str = str+"de";

堆里:
str1指向abc
str本身会指向另一个string对象abcde

String本身是不能被更改的,如果有更改操作,String会自动new一个String对象出来满足程序要求

如果我们需要更改一个字符串,我们需要用到StringBuffer或者StringBuilder
否则我们会大量浪费GC(垃圾回收器)时间(用来回收没有引用的对象)。

0 0
原创粉丝点击