有多少个物体?

时间:2016-02-05 14:31:58

标签: java string

String s1=new String("rahul");
s1=new String("rahul");
s1=new String("kumar");
String s2=new String("rahul");
s2=new String("rahul");
s2=new String("kumar"); 

//创建了多少个对象?

2 个答案:

答案 0 :(得分:0)

每个new String(...)都会创建一个新对象。所以在你的例子中创建了六个对象。

答案 1 :(得分:0)

实际上,

  1. >>不确定<<创建了多个对象。创建value(使用String)还需要创建表示它的内部对象。

  2. 执行代码时会创建六个new个对象。还有两个与代码关联的String个对象...表示字符串文字。

  3. 在执行代码片段结束时,仍然存在的String个对象的数量是>> indeterminate<<。创建的六个String对象中有四个现在无法访问,但它们将继续存在,直到GC删除它们......或者JVM退出。