学习笔记:String和new String

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”)一个对象

猜你喜欢

转载自blog.csdn.net/qq_32458133/article/details/89191882