这个问题要分为两种情况:
1. 如果 String 常量池中已经创建了 "R",此时只会在堆内存创建一个对象:new String("R");
2. 如果 String 常量池中没有创建 "R",则会创建两个对象,一个在堆内存,一个在常量池。
堆内存中的对象是常量池对象的一个副本拷贝。
这个问题要分为两种情况:
1. 如果 String 常量池中已经创建了 "R",此时只会在堆内存创建一个对象:new String("R");
2. 如果 String 常量池中没有创建 "R",则会创建两个对象,一个在堆内存,一个在常量池。
堆内存中的对象是常量池对象的一个副本拷贝。