当我们执行concat操作时,string将在java中创建对象的位置?

当我们执行concat操作时,string将在java中创建对象的位置?,java,string,Java,String,我写了以下内容 String str1 = new String("railway"); // line 1 String str2 = str1.concat("station"); // line 2 当第1行执行时,字符串将在scp和堆中创建对象 那第二行的陈述呢?在这种情况下,它还会在scp和堆中创建 提前感谢“铁路”和“车站”将在固定池中。 str1和str2将在堆中。为什么它不创建一个新字符串呢?我相信,从Java 7开始,甚至scp也在堆中。

我写了以下内容

String str1 = new String("railway"); // line 1
String str2 = str1.concat("station"); // line 2
当第1行执行时,字符串将在scp和堆中创建对象

那第二行的陈述呢?在这种情况下,它还会在scp和堆中创建

提前感谢

“铁路”和“车站”将在固定池中。
str1和str2将在堆中。

为什么它不创建一个新字符串呢?我相信,从Java 7开始,甚至scp也在堆中。