这里创建了多少个对象 - Java

时间:2010-10-04 10:55:56

标签: java

  

可能重复:
  How to know how many objects will be created with the following code?

我在程序中有以下代码行

String str1 = "abc";
String str2 = str1;
String str3 = "abc";

我想知道在执行上面3行代码时会创建多少个对象。

5 个答案:

答案 0 :(得分:3)

2,1字符串对象,字符串包含1个字符数组。

答案 1 :(得分:3)

所有三个引用都引用相同的实习String对象。

答案 2 :(得分:2)

只创建了一个对象。其余的(str2,str3)被称为内部字符串池。

答案 3 :(得分:2)

它可以创建01对象。

如果已经有一个值为"abc"的实习String对象,则不会创建任何对象,如果它不存在,则会创建它。

答案 4 :(得分:-1)

3个对象,但它们都使用相同的实习字符串(即字符串仅在运行的JVM中存在一次)。