下面两行代码执行后,原始的String对象中的内容到底变了没有?
String s = "Hello";s = s + " world!";
s变量的值变化了,但"Hello" 与 " World!"这两个字符串的内容没有任何变化,只不过是重新组合了一个字符串对象出来然后赋值给了s。
s
"Hello"
" World!"
什么叫原始的String对象是指s这个变量吗,还是最初分配的内存这个问题不说清楚,后面的讨论都没有意义
原始对象的值变不变,你得去问问JVM给你留不留。