加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – LOST String对象会发生什么

发布时间:2020-12-14 05:32:30 所属栏目:Java 来源:网络整理
导读:Line 1: String x = "Java";Line 2: x.concat(" Rules!");Line 3: System.out.println("x = " + x); 输出是“x = Java” 第1行:创建一个新的String对象,给出值“Java”,并将x引用到它. 第2行:VM创建第二个String对象,其值为“Java Rules
Line 1: String x = "Java";
Line 2: x.concat(" Rules!");
Line 3: System.out.println("x = " + x);

输出是“x = Java”

第1行:创建一个新的String对象,给出值“Java”,并将x引用到它.

第2行:VM创建第二个String对象,其值为“Java Rules!”但没有提到它.第二个STRING对象即将失去;你无法得到它.

由于这些String对象是在Heap中创建的,因此第二个对象将是Garbage Collected.

解决方法

Enosh,在java字符串中是不可变的,所以你应该分配
x = x.concat(" Rules");

对于第二行然后它将工作.

第二个对象最终将是GC’d,因为不再有实体引用它.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读