我认为是4个对象
毕老师视频里说过 String s=new String("abc");这里是创建了2个对象 一个为常量池中的"abc"一个为堆内存中的String对象
而 在String s = new String("XYZ") + new String("XYZ");中
第一个new String("XYZ")创建了2个对象 一个是常量池中的"XYZ" 一个为堆内存中的String对象
第二个new String("XYZ")又创建了1个对象 是堆内存中的一个新的String对象( 因为常量池中已有"XYZ"不需要再建立)
然后加起来对String s进行赋值 又是1个对象 s指向常量池中的"XYZXYZ" |