Closed. This question needs details or clarity。它当前不接受答案。
想改善这个问题吗?添加详细信息并通过editing this post阐明问题。
5年前关闭。
Improve this question
我无法回避已创建的对象。例如,如果我们假设我创建了3个
谢谢。
那么一旦您进入循环的下一个迭代,您的Person对象就会丢失。
即使您在循环外有Person对象:
那么每次将新的Person对象分配给p时,前一个对象都会丢失,因为在其他任何地方都没有对它的引用。
但是,如果将创建的对象添加到集合中,如下所示:
那么您的Person对象(对它们的引用)将存储在
想改善这个问题吗?添加详细信息并通过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