水下功夫做透,水上才能顺风顺水。

Java中String直接赋值与new String()的区别

String str1 = “abc";
创建一个或不创建对象。若常量池中已经存在“abc”,那么str1直接引用,不创建String对象。否则,先在常量池先创建“abc”内存空间,再引用。
String str2 = new string("abc");
创建一个或两个对象。new关键字,一定会在堆空间创建内存区域,它的value 是 "ABC"。同时,如果"ABC"这个字符串在常量池里不存在,会在常量池创建这个一个String对象"ABC"。

 

posted @ 2020-05-28 13:01  北方寒士  阅读(351)  评论(0编辑  收藏  举报