String str=new String("java"+"265.com")在JVM中创建了几个对象?
下文笔者将针对String这个特殊类,对new String()进行相关说明,如下所示:
String str=new String("java"+"265.com"),产生对象的相关分析 1.字符串"java"创建了一个对象,存于String常量池 2.字符串"265.com"创建了一个对象,存于String常量池 3.字符串"java"+"265.com",创建了一个对象,存于常量池 4.new关键字将会创建一个对象,将字符常量池中的"java265.com"复制到堆中 通过上面的分析,我们可以得到会创建4个对象 ------------------------------------------------------------------------- 注意事项: 由于java在编译时,会将其优化, "java"+"265.com"会合并为“java265.com”放于常量池中,然后再new一个对象出来 所有经过优化后的操作,也是创建2个对象
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。