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

StringBuilder的问题
Java code

String s1 = "spring";
String s2 = s1 + "summer";


书上说这两句代码创建了3个String对象,分别是"spring","summer"(丢弃),"spring summer"。
那么请问:
Java code

StringBuilder sb = new StringBuilder("abc");
sb.append("def");


这两句代码创建了几个对象?是否会创建String类型的变量"abc"和"def"?

------解决方案--------------------
上面的编译器还自动创建一个StringBuffer(1。5之前)/StringBuilder。
==========
会。
------解决方案--------------------
如楼上所言,

第一段代码也会创建StringBuilder的

第二段代码的“abc”,“def”对象当然也存在
------解决方案--------------------
也是3个
------解决方案--------------------
3个对象,分别是:
"abc", "def", sb

------解决方案--------------------
是的,也是三个
------解决方案--------------------
探讨

上面的编译器还自动创建一个StringBuffer(1。5之前)/StringBuilder。
==========
会。

------解决方案--------------------
探讨
3个对象,分别是:
"abc", "def", sb