不一样 因为内存的分配方式不一样,通过自变量String str=“i”的方式JVM会将其分配到常量池(没有重复的元素)中;而String str=new String(“i”)的方式会被分配到堆内存中