Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我们将在堆上创建多少对象?_Java_String - Fatal编程技术网

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

Java 我们将在堆上创建多少对象?,java,string,Java,String,将为堆上的以下字符串创建多少个对象: String a = "abc"; String b = "def"; String c = "ghi"; String d = a+b+c 堆上创建了多少个对象 String a = "abc"; //String literal String b = "def"; //String literal String c = "ghi"; //String literal String d = a+b+c //String d = new Stri

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

String a = "abc";
String b = "def";
String c = "ghi";
String d = a+b+c
堆上创建了多少个对象

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();
注意,返回一个对象。现在,您很容易确定创建了多少个对象

还要注意,
toString
不会创建新字符串,而是返回一个已创建的字符串

注意,返回一个对象。现在,您很容易确定创建了多少个对象


还要注意的是,
toString
不会创建新字符串,它会返回一个已经创建的字符串。

无从得知。可能是两个的0或1个可能的副本,除非您计算StringBuilder实例中的内部对象。无法知道。除非您将StringBuilder实例中的内部对象计算在内,否则可能是两个对象的0或1个可能的副本。
new StringBuilder()。a、 b和c是文字。它们是在类加载时创建的。LOL!StackOverflow,或者如何在不动脑子的情况下获得学位@mathguy54——第二,StringBuilder和分配给d的字符串值。
new StringBuilder()
是否算作对象?因此对象将是
a
b
c
、匿名
StringBuilder
d
?@mathguy54-您没有注意。a、 b和c是文字。它们是在类加载时创建的。LOL!StackOverflow,或者如何在不动脑子的情况下获得学位@mathguy54——两个,StringBuilder和分配给d的字符串值。