わかりました、この質問はこの質問の延長です
Java Strings: "String s = new String("silly");"
上記の質問はこれと同じ質問をしましたが、私は新たな疑問点があります。
Effective Javaおよび上記の質問の回答によると、不要なオブジェクトが作成されるため、行うべきではありません。String s = new String("a new string");
Javaは自動文字列インターニングを行っていると思うので、この結論についてはよくわかりません。つまり、文字列の場合、メモリにはそのコピーが1つしかありません。
それでは見てみましょうString s = new String("a new string");。
"a new string"は既にメモリ内に作成された文字列です。
私がするときString s = new String("a new string");、それsも"a new string"です。によるとautomatic string interning、sは の同じメモリ アドレスを指す必要があります"a new string"ね。
では、不要なオブジェクトを作成しているとどのように言えますか?