String str1="JAVA";
String str2="JAVA";
String str3=new String("JAVA");
String str4=new String("JAVA").intern();
2 つのオブジェクトが作成されます。メソッドが同じ値を持つ文字列の文字列プールにチェックインするため、 new 演算子を使用して同じオブジェクトをポイントし、同じオブジェクトをポイントするため、文字列リテラルプールの概念とポイントのために同じオブジェクトstr1を参照します。str2str3str4str1str2intern()
str1=str2=str3=str4=null;
1 つのオブジェクトが GC の対象になります。それが によって作成されたオブジェクトですString str3=new String("JAVA")。最初の String オブジェクトは、文字列リテラル プールに格納された参照を介して常にアクセスできます。
私の説明は正しいですか?