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
------解决方案--------------------是的,也是三个
------解决方案--------------------
------解决方案--------------------