当前位置: 代码迷 >> J2SE >> 求分析,合共产生了几个对象,要深入点的解释
  详细解决方案

求分析,合共产生了几个对象,要深入点的解释

热度:6532   发布时间:2013-02-25 00:00:00.0
求分析,一共产生了几个对象,要深入点的解释。
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");//一个……

------解决方案--------------------------------------------------------
  相关解决方案