理论解释
java中对于字符串的拼接,存在常量和常量,常量和变量,变量和变量的三种情况的拼接,其次JVM的优化与否(针对常量和常量的拼接来说)也对创建的对象个数有关。
提示:以下是本篇文章正文内容,下面案例可供参考
一、常量和常量的拼接

String str1=“a”+"b"和String str2=new String(“a”+“b”)
因为这种情况是常量之间相加,经过编译器优化成了String str1 = “ab”,放在字符串常量池中,所以答案是创建了一个对象。如果不考虑优化的情况下,这一共是创建了3个对象的,因为一个双引号就是一个字面量(对象)。同时要考虑字符串常量池中是否存在a,b,ab。

本文详细探讨了Java中字符串拼接的几种情况,包括常量与常量、常量与变量的拼接,分析了不同情况下创建的对象数量。在编译器优化下,常量拼接可能只产生一个对象,而常量与变量拼接会涉及StringBuilder,可能导致多个对象的创建。文章还讨论了JVM优化对对象创建的影响。
最低0.47元/天 解锁文章
862

被折叠的 条评论
为什么被折叠?



