【问题标题】:How many objects are there? [duplicate]有多少物体? [复制]
【发布时间】:2016-05-15 13:51:22
【问题描述】:
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"); 

//创建了多少个对象?

【问题讨论】:

  • 42!似乎是一个家庭作业垃圾场。我投票结束这个:不清楚你在问什么。请澄清您的具体问题或添加其他详细信息以准确突出您的需求。正如目前所写的那样,很难准确地说出你在问什么。请参阅“如何提问”页面以获得澄清此问题的帮助。
  • 新关键字每次都创建新对象
  • "新关键字每次都创建新对象" - 至少一个新对象。 (你看过String 构造函数做了什么吗?)

标签: java string


【解决方案1】:

每个new String(...) 创建一个新对象。因此,在您的示例中,创建了六个对象。

【讨论】:

    【解决方案2】:

    其实

    1. 创建了>>indeterminateString(使用new)还需要创建一个或多个表示它的内部对象。

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-04
      • 1970-01-01
      • 2018-04-03
      • 2013-10-29
      • 2011-05-20
      相关资源
      最近更新 更多