譬如
String foo= "a";
String bar= "a";
那么,在上面的这个栗子中,两个"a"本身是统一份内存空间麽?
如果String foo="a" + "b"
如果String bar="ab"
这里是否存在运算,先计算出"a"+"b"的字面量(“ab”),初始化"ab“ 后,接下来的任何
String x="ab"
,都是对之前"ab"的字面量的引用持有呢?
Update String foo="a" + "b"
这条语句,假设在之前没有"a"和”b“的init.那么在这里创建了
”a“,"b","ab"呢
还是只创建了"ab"呢?
String foo = "a"; String bar = "a";
这两个是一份内存空间,都在字符串常量池String foo="a" + "b",String bar="ab";
这两个也是,"a" + "b"
在编译期就会被优化为"ab"
String foo="a" + "b"
只创建了“ab”,同上