new String 详解

String s1 = “abc”;

这种创建方式会在常量池创建"abc"常量,然后通过引用指向常量池。

String s2 = new String(“abc”);

这种创建方式会在堆中创建一个"abc"对象,同时查看字符串常量中是否包含该常量,如果不包含则创建一个。

特别要注意的是,不论new String这种方式在常量池是否创建对象,它指向的始终是堆中的对象。也就是说s1!= s2,故不应通过new创建字符串对象!

猜你喜欢

转载自blog.csdn.net/weixin_44159662/article/details/113969089