String str1 = "abcdefg";
上面的代码是直接写的字符串会先从常量池中去找有没有,有的话直接把地址值赋给str1,没有的话才会在常量池中创建实例
String str2 = new String("abcdefg");
上面的代码是new出来的,不管常量池中有没有,都会在堆中创建实例,如果常量池中没有的话同时也会在常量池中创建实例
String str1 = "abcdefg";
上面的代码是直接写的字符串会先从常量池中去找有没有,有的话直接把地址值赋给str1,没有的话才会在常量池中创建实例
String str2 = new String("abcdefg");
上面的代码是new出来的,不管常量池中有没有,都会在堆中创建实例,如果常量池中没有的话同时也会在常量池中创建实例