日期:2014-05-20  浏览次数:20802 次

String 对象的问题
String   s=new   String( "1 "+ "2 ");
这条语句创建了几个对象?



------解决方案--------------------
一个,String每改变一次就会实例化一个对象!
------解决方案--------------------
String s=new String( "1 "+ "2 ");

创建了2个对象和1个引用。
------解决方案--------------------
先看看这里
http://community.csdn.net/Expert/topic/5731/5731826.xml?temp=.5181238

String s=new String( "1 "+ "2 ");
这句话创建了两个对象.
一个是new出来的s引用的那个对象
另一个是 "12 "

为什么是 "12 ",而不是 "1 ", "2 ", "12 ".
因为编译器在编译阶段直接把 "1 " + "2 "优化成 "12 "
而不会等到虚拟机去傻乎乎的创建StringBuild,然后用append连接字符串,再调用toString

至于为什么是两个对象,看前面那个链接.
------解决方案--------------------
完全看不懂