1.所有字符串常量均存在字符串常量池中。
2.凡是双引号括起来的都在字符串常量池中有一份
如下代码:
public class StringTest { public static void main(String[] args) { String s1 = "abcdef"; String s2 = "abcdef" + "xy";
String s3 = new String("xy");
} }
在字符串常量池中会产生三个字符串常量对象,分别是:abcdef,xy,abcdefxy,堆中会创建一个String对象,并且这个对象中的某数据会指向常量池中的xy
并且s1中保存的并不是abcdef,而是这个字符串对象的内存地址