String拼接原理
String s ="Hello";
s = s + "world";
String被设计为不可变类,所以它的所以对象都是不可变对象。
在这段代码中,s原型指向一个String对象,内容是 “Hello” ,后来对s进行了 “+” 操作。那么s原来所指向的那个对象是否发生了改变呢?
答案是:没有改变。
这时,s 不指向原来那个对象了,而是指向了另一个String对象,内容为 “Hello world” 。
原来那个对象还存在于内存之中,只是 s 这个引用变量不再指向它了