String s="hello";s+="world";s变化了吗?原始的String对象的内容变了吗?

Posted 勇往直前

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了String s="hello";s+="world";s变化了吗?原始的String对象的内容变了吗?相关的知识,希望对你有一定的参考价值。

分析:

String s="hello";s+="world";

引用变量s 一开始指向String对象("hello" :0x001);

                                                  ("world":0x002);

s拼接后,就重新指向String对象("helloworld":0x003);

答:s改变了,原始的String对象 "hello" 内容并没有改变,仍然存在于内存中;

   因为String是final修饰,是最终类,不能被继承,即String类的对象也是不能改变,所以原始的对象内容不改变

 注意:是对象不能改变而不是引用变量不能改变

以上是关于String s="hello";s+="world";s变化了吗?原始的String对象的内容变了吗?的主要内容,如果未能解决你的问题,请参考以下文章

String s="hello";s+="world";s变化了吗?原始的String对象的内容变了吗?

关于String s = new String("xyz"); 创建几个对象的问题

Java源码解析|String源码与常用方法

python如何以两个字符一行方式输出"Hello World"?

为什么 String s1="hello" String s2 = new String("hello") s1==s2 为flase

String str1="Hello",String str2=new String("Hello")