String str="i"与 String str=new String(“i”)一样吗? 不一样,因为内存分配的方式不一样。String str="i"方式,java虚拟机会将其分配到常量池中;String str=new String(“i”)方式,则会被分到堆内存中。