String 对象的有关问题

String 对象的问题StringsnewString( 1 + 2 );这条语句创建了几个对象?[解决办法]一个,String每改变

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

至于为什么是两个对象,看前面那个链接.
[解决办法]
完全看不懂