new String(“R“) 创建了几个对象?

这个问题要分为两种情况:

1. 如果 String 常量池中已经创建了 "R",此时只会在堆内存创建一个对象:new String("R");

2. 如果 String 常量池中没有创建 "R",则会创建两个对象,一个在堆内存,一个在常量池。

堆内存中的对象是常量池对象的一个副本拷贝。

猜你喜欢

转载自blog.csdn.net/dd2016124/article/details/115057486