我的代码是:
String str = "Hello";
String str1;
str1 = str;
str1 = str1 + " World";
System.out.println(str1);
System.out.println(str);
我得到的输出是:
Hello World
Hello
我期望的输出Hello World
适用于这两种情况,因为根据我的理解,在str1 = str
两个对象都引用相同的位置之后,所以如果我更改一个对象的内容,其他对象也会受到影响。
那么,是str1 = str1 + " World";
在不同的内存位置创建一个新的字符串对象吗?