java 中String创建对象的区别
1.String s1 = "aaaa";
2.String s2 = new String("bbbbb");
它俩的区别是:
第一个是先在常量池中寻找,是否有这个字符串,有直接指向它,没有先创建在指向它
第二个也是先在常量池中寻找,是否有这个字符串,没有-->创建它,有--->在堆内存创建一个对象,并指向它
如图:
1.String s1 = "aaaa";
2.String s2 = new String("bbbbb");
它俩的区别是:
第一个是先在常量池中寻找,是否有这个字符串,有直接指向它,没有先创建在指向它
第二个也是先在常量池中寻找,是否有这个字符串,没有-->创建它,有--->在堆内存创建一个对象,并指向它
如图: