一道关于字符串常见的面试题:

下面代码在内存中创建了几个对象:

String str = "hello";
String str2 = new String(str);

这段代码就创建了2个String对象,str指向在常量池中的,str2指向堆上的,而str内部的char value[]则指向常量池中的char value[],所以这里的答案是2个对象。

可以通过Debug调试查看验证:

Java中 String str = new String("hello"); 到底创建了几个对象

相关文章: