次のコードがあるとします。
String str1 = new String("Hello");
String str2 = str1;
String str3 = new String(str1);
String str4 = str3;
str4 += " World ";
if (str3==str4)
System.out.println(“one”);
if (str3.equals(str4))
System.out.println(“two”);
if (str1==str2)
System.out.println(“three”);
if (str3.equals(str2))
System.out.println(“four”);
出力は次のとおりです。3 および 4
わかりません.. str3 == str4 を実行しただけです。どうすれば同じオブジェクトを参照できないのでしょうか..? str3 == str4 は false のようで、理由がわかりません。さらに、 str3.equals(str4) も false を返しますが、最初に得られなかったものと関係があると思います。
説明をいただければ幸いです。