字符串池中将有一个字符串对象。在编译时
"a" + "b" +"c"解析为
"abc"(请参阅JLS§15.28),因此您拥有的等效于
String s = "abc";
StringBuilder与重复的问题的公认答案相反,这里没有涉及。您甚至可以在字节码中看到这一点:
LDC "abc"ASTORE 1
从上面的JLS链接:
类型的编译时常量表达式
String始终是“ interned”的,以便使用方法共享唯一的实例String.intern。

字符串池中将有一个字符串对象。在编译时
"a" + "b" +"c"解析为
"abc"(请参阅JLS§15.28),因此您拥有的等效于
String s = "abc";
StringBuilder与重复的问题的公认答案相反,这里没有涉及。您甚至可以在字节码中看到这一点:
LDC "abc"ASTORE 1
从上面的JLS链接:
类型的编译时常量表达式
String始终是“ interned”的,以便使用方法共享唯一的实例String.intern。