多くのフォーラムでこれに関する多くの質問がありますが、それらすべてを読むと、実際に最初の場所に戻ることができます!! 私が理解している限り、以下の例では:
1. String s = "abc" + "xyz";
...3 つのオブジェクトを作成しますよね? "abc" (参照が割り当てられていないため失われる)、"xyz" (失われる) および "abcxyz"
2. String s = new String("def");
...2 つの文字列オブジェクトを作成します。「def」と new 演算子を使用したもの
1 については、コンパイル時に文字列の連結が解決され、「abcxyz」というオブジェクトが 1 つだけ作成されると聞いています。
2 については、new を使用すると、そのデータを含む char[] が作成され、作成されるオブジェクトの数が増えることがあると聞きました!!
これが正しいかどうか教えてください。