【发布时间】:2014-02-10 11:37:57
【问题描述】:
如果我将 String 文字传递给某些方法:
String s=new String("stack");
String s2=s.concat("overflow");
字符串“溢出”的存储位置。
我的一个朋友争辩说它是在String 常量池中创建的,我反对他。
请告诉我
提前致谢。
【问题讨论】:
-
你为什么反对他?这是一个字符串常量。
-
这个问题的“字符串在哪里创建”和“参数在哪里存储”方面大多有不同的答案。参数传递机制对字符串和其他对象的操作相同,但取决于 JVM,字符串字面量可能会或可能不会以特殊方式分配。