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

求分析,一共产生了几个对象,要深入点的解释。
Java code

public static void mian(String[] args) {
        String A, B, C;
        A = "a";
        B = "b";
        A = A + B;
        StringBuffer D = new StringBuffer("string");
        D = D.append("s");
    }



------解决方案--------------------
4
------解决方案--------------------
public static void main(String[] args) {//不是mian, 是main
String A, B, C; //字符串变量不能是大写的
A = "a"; //一个,
B = "b"; //一个
A = A + B;//一个,在虚拟机中,被解释为:String A=(new StringBuffer().append("a").append("b")).toString()

StringBuffer D = new StringBuffer("string");//一个
D = D.append("s");
}
一共4个
注:个人理解,仅供参考!
------解决方案--------------------
4ge
------解决方案--------------------
探讨

public static void main(String[] args) {//不是mian, 是main
String A, B, C; //字符串变量不能是大写的
A = "a"; //一个,
B = "b"; //一个
A = A + B;//一个,在虚拟机中,被解释为:String A=(new String……

------解决方案--------------------
4个。楼上说的有道理
------解决方案--------------------
A = "a"; //一个
B = "b"; //一个
A = A + B; //一个
StringBuffer D = new StringBuffer("string"); //"string"一个
D = D.append("s"); //s也是一个String对象
一共5个

------解决方案--------------------
探讨

4个。楼上说的有道理

------解决方案--------------------
4 个对象

String A, B, C;
A = "a"; // 1
B = "b"; // 1
A = A + B; // String 是final类型,A+B会生成新对象
StringBuffer D = new StringBuffer("string"); // 1
D = D.append("s");
------解决方案--------------------
2个
A = A + B;
StringBuffer D = new StringBuffer("string");

A = "a";
B = "b";
"string"
都是存在常量池中的。没有对象
------解决方案--------------------
探讨

引用:

4个。楼上说的有道理

最后一句 D = D.append("s"); "s"也是一个

------解决方案--------------------
4个 

Java code


  A = "a"; //一个,
  B = "b"; //一个
  A = A + B;//一个,在虚拟机中,被解释为:String A=(new StringBuffer().append("a").append("b")).toString()  

  StringBuffer D = new StringBuffer("string");//一个
  D = D.append("s");

------解决方案--------------------
探讨

4个

Java code


A = "a"; //一个,
B = "b"; //一个
A = A + B;//一个,在虚拟机中,被解释为:String A=(new StringBuffer().append("a").append("b")).toString()

StringBuffer D = new StringBuffer("string");//一个……

------解决方案--------------------