String a = "hello";
String b = "world";
String c = "ok";
String d = "is";
String result = a+b+c+d;
问:共产生多少个对象?
答:
现在的编译器早就对这些代码作了优化,编译成如下:
String a = "hello";
String b = "world";
String c = "ok";
String d = "is";
String result = new StringBuffer().append(a),append(b),append(c).append(d).toString();
因此产生了6个对象,其中5个字符串对象,一个StringBuffer临时对象。