java中的String是不可变类

String s = "hello ";

s += "world";

这两行代码执行后,原始的String对象中的内容没有变

在这段代码中,s原先指向一个String对象,内容是hello,然后执行+操作

这时,s不指向原来那个对象了,而指向了另一个String对象,内容为hello world

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

而用关键字new调用构造器,总是会创建一个新的对象,无论内容是否相同。

猜你喜欢

转载自www.cnblogs.com/yanguobin/p/11603497.html