Closed. This question needs details or clarity。它当前不接受答案。












想改善这个问题吗?添加详细信息并通过editing this post阐明问题。

5年前关闭。



Improve this question





我无法回避已创建的对象。例如,如果我们假设我创建了3个Person类的实例。我该如何找回第一个对象的方法/细节。我不需要任何代码,我只需要了解有关如何执行此操作的理论。

谢谢。

最佳答案

(为可能很奇怪的语法而道歉,我使用Scala比使用Java多)

如果以这种方式创建对象:

for (int i=0; i<3; i++) {
   Person p = new Person();
}


那么一旦您进入循环的下一个迭代,您的Person对象就会丢失。

即使您在循环外有Person对象:

Person p;
for (int i=0; i<3; i++) {
   p = new Person();
}


那么每次将新的Person对象分配给p时,前一个对象都会丢失,因为在其他任何地方都没有对它的引用。

但是,如果将创建的对象添加到集合中,如下所示:

List<Person> plist = new ArrayList<Person>();
Person p;
for (int i=0; i<3; i++) {
   p = new Person();
   plist.add(p);
}


那么您的Person对象(对它们的引用)将存储在plist中,并且只要您将plist保留在范围内,就可以对其进行访问:

Person p0 = plist.get(0);
Person p1 = plist.get(1);
Person p2 = plist.get(2);

10-07 12:57