我遇到以下代码时遇到问题。让我来看看代码正在做什么或打算做什么。 createZoo
方法执行以下操作:
Cage
个对象newZoo.add(cage[i])
- 这会将笼子对象传递给Zoo
类中的add方法。它被添加到Zoo
类中的列表中。当我在Zoo
类中访问此列表以检索笼对象时,就会出现问题。检索到的笼子对象是不正确的。很抱歉这里含糊不清,但我认为问题在于上面第3点,当我将cage[i]
参数传递给List<Cage>
类中的Zoo
笼子时。我应该通过索引吗?
感谢。
class algo{
private int counter = 15;
private Zoo newZoo = new Zoo();
public void createZoo() {
Cage[] cage = new Cage[counter];
//initialize cage array with cage objects
initializeCageArray(cage);
while(counter>0) //outer while loop
for(int i =0; i<counter; i++)
{
for(int x = 0,y = end of array;x<somecounter; x++, y--)
{
Animal animala = Animal.get(x)
Animal animalb = Animal.get(y);
cage[i].add(new MatingPair(animala, animalb));
}
//adds cage object to list container in zoo class
//Am I passing the wrong thing here - maybe I need to pass an index?
newZoo.add(cage[i]);
--counter;
}
}
答案 0 :(得分:0)
将Cage
的 REFERENCE 传递给Zoo
完全没问题,而且最好将索引传递给{{} 1}}。
如果cages[]
类想要对Zoo
对象做某事(据说打开所有的笼子!),那么现在想一想,那么他们如何仅使用{{Cage
来访问Cage
的对象1}}。您将以某种方式将index
的整个数组访问cages[]
。
如果你直接通过Zoo
的引用会更好,至于操纵笼子,你需要参考它。
希望它有意义。