将为堆上的以下字符串创建多少个对象:
String a = "abc";
String b = "def";
String c = "ghi";
String d = a+b+c
堆上创建了多少个对象?
答案 0 :(得分:1)
String a = "abc"; //String literal
String b = "def"; //String literal
String c = "ghi"; //String literal
String d = a+b+c //String d = new StringBuilder(d).append(b).append(c).toString();
请注意,StringBuilder#append
会返回对象。现在,您可以轻松确定创建了多少个对象。
另请注意,toString
不会创建新的String,而是返回已创建的String。