Java中new出来的字符串和直接写的字符串有什么区别 上面的代码是直接写的字符串会先从常量池中去找有没有,有的话直接把地址值赋给str1,没有的话才会在常量池中创建实例。上面的代码是new出来的,不管常量池中有没有,都会在堆中创建实例,如果常量池中没有的话同时也会在常量池中创建实例。