我们将在堆上创建多少个对象?

时间:2013-12-01 14:06:41

标签: java string

将为堆上的以下字符串创建多少个对象:

String a = "abc";
String b = "def";
String c = "ghi";
String d = a+b+c

堆上创建了多少个对象?

1 个答案:

答案 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。