String拼接原理

String s ="Hello";
s = s + "world";

String被设计为不可变类,所以它的所以对象都是不可变对象。

在这段代码中,s原型指向一个String对象,内容是 “Hello” ,后来对s进行了 “+” 操作。那么s原来所指向的那个对象是否发生了改变呢?

答案是:没有改变

这时,s 不指向原来那个对象了,而是指向了另一个String对象,内容为 “Hello world” 。

原来那个对象还存在于内存之中,只是 s 这个引用变量不再指向它了

 

posted @ 2018-05-19 21:39  snoopy666  阅读(148)  评论(0)    收藏  举报