String s = new String(“xyz”);
创建了两个对象
一个是字符串字面量"xyz"所对应的、驻留(intern)在一个全局共享的字符串常量池中的实例,另一个是通过new String(String)创建并初始化的、内容与"xyz"相同的实例
只要是new,都要重新分配堆空间。
String s = “xyz”;
要看常量池里有没有”xyz”,如果有直接引用,如果没有则创建一个对象再引用。
String s = “aaa” + new String(“bbb”);
创建了4个对象
‘’aaa”一个对象;new String()一个对象;”bbb”一个对象;”aaa” + new String(“bbb”)一个对象