1.String s1 = "aaaa";

2.String s2 = new String("bbbbb");


它俩的区别是:

第一个是先在常量池中寻找,是否有这个字符串,有直接指向它,没有先创建在指向它


第二个也是先在常量池中寻找,是否有这个字符串,没有-->创建它,有--->在堆内存创建一个对象,并指向它


如图:

java 中String创建对象的区别

相关文章: