Line 1: String x = "Java";
Line 2: x.concat(" Rules!");
Line 3: System.out.println("x = " + x);
出力オブジェクトの "x = Javaの"何LOST Stringに起こることは
1行目です:、新しいStringオブジェクトを作成し、 "Javaの" 価値を与え、それにXを参照してください。
行2:VMは値 "Java Rules!"で2番目のStringオブジェクトを作成します。何も言及していない。 2番目のストリングオブジェクトは即座に失われます。あなたはそれに遭遇することはできません。
これらの文字列オブジェクトはヒープで作成されるため、2番目のオブジェクトはガベージコレクションされますか。
'" x = "+ x'は3番目の文字列を作成することに注意してください。 – Thilo