读书人

String s = quot;aquot; + quot;bquot; + quot;cquot; 终究创建

发布时间: 2013-10-29 12:07:57 作者: rapoo

String s = "a" + "b" + "c" 到底创建了几个对象?
有人说1个,http://blog.csdn.net/java2000_net/article/details/3681385,
有人说5个,到底是几个。给个官方解释吧
java String
[解决办法]
不是说的很清楚了吗?1个,"a" "b" "c"是String pool里定义好的,直接使用。对象只有一个s。其实讨论这个一点意义都没有,现在的jvm都会给你优化的,这种对程序的性能影响会越来越小
[解决办法]
就是1个啊,是编译器把你的代码进行了优化,所以是一个
[解决办法]

引用:
不是说的很清楚了吗?1个,"a" "b" "c"是String pool里定义好的,直接使用。对象只有一个s。其实讨论这个一点意义都没有,现在的jvm都会给你优化的,这种对程序的性能影响会越来越小

编译的时候会变成"abc",于是只有一个对象
[解决办法]
引用:
有人说1个,http://blog.csdn.net/java2000_net/article/details/3681385,
有人说5个,到底是几个。给个官方解释吧

这问题在论坛上出现至少10次了。。。
至于几个,你去看看咱们版主大人的博客吧。。
http://blog.csdn.net/java2000_net/article/details/3681385

读书人网 >J2SE开发

热点推荐