首页 > 编程语言 > 详细

Java中String类的值在创建后不可修改问题

时间:2020-05-15 22:03:14      阅读:95      评论:0      收藏:0      [点我收藏+]

在java中对于String类型字符串的值一旦创建后就不可更改的问题,对于刚入门的小伙伴难以理解,明明我就把string的值改变了呀,为什么说不能修改呢?

String a ="hello";String b = "java";a = a + b;

a的输出结果为 hellojava,a的值明明就改变了。

事实上String对象内容的改变是通过内存地址的改变来完成的,而其对象本身内容没有改变。
如图:
技术分享图片
那么怎么验证呢?

      public class demo01 {
          public static void main(String[] args)  {
              String a ="hello";
              System.out.println(System.identityHashCode(a));
              String b = "java";
              System.out.println(System.identityHashCode(b));
              a = a + b;
              System.out.println(System.identityHashCode(a));
          }
      }

象的地址并不一定样,说明a=a+b;后a的地址已经变了,不再指向原来的地址。

Java中String类的值在创建后不可修改问题

原文:https://www.cnblogs.com/tyhA-nobody/p/12897367.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!