用Java创建对象列表

时间:2012-03-09 23:50:19

标签: java

所以我想创建一个像这样的对象列表

ArrayList<Obj> lst = new ArrayList<Obj>(10);
for (int i = 0; i < 10; i++) {
  Obj elem = new Obj();
  lst.add(elem);
}

这是合法的还是当elem引用开始指向Object 2时我是否必须担心对象1被删除?如果这是非法的,我怎么办呢?有没有办法自动生成十个不同的参考名称?

3 个答案:

答案 0 :(得分:5)

只有在没有指向它的引用时,垃圾收集器才会删除对象。 在您的情况下,您的列表将指向10个不同的对象对象,并且在您失去对 lst 对象的引用之前它们是安全的。

答案 1 :(得分:3)

这完全合法。 <{1}}将包含对您刚刚创建的对象的引用,因此它不会被GCed。

答案 2 :(得分:1)

您的方法完全有效。您将得到一个包含十个不同对象的列表。