私のコードは次のとおりです。
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
両方のオブジェクトが同じ場所を参照しているため、1 つのオブジェクトのコンテンツを変更すると、他のオブジェクトも影響を受けるはずです。
では、str1 = str1 + " World";
別のメモリ位置に新しい文字列オブジェクトを作成していますか?