Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 返回ArrayList并在另一个方法中使用它_Java_Methods_Arraylist_Return - Fatal编程技术网

Java 返回ArrayList并在另一个方法中使用它

Java 返回ArrayList并在另一个方法中使用它,java,methods,arraylist,return,Java,Methods,Arraylist,Return,我有一个方法可以返回对象的ArrayList。我返回创建的arraylist,其中填充了许多对象,通过使用相同的方法打印它们来检查它们是否存在。当我在另一个方法中将该Arraylist用作参数时,它会给我一个错误,就像Arraylist为空一样 让我们用getFila和getColumna方法来表示对象的位置(y,x)。 而失败的方法(实际上什么也不做): 在这个过程中,有人能帮我吗?如果您使用的是像eclipse这样的IDE,您可以轻松地在有问题的代码中插入断点,并且可以“查看”每个变量的内容

我有一个方法可以返回对象的ArrayList。我返回创建的arraylist,其中填充了许多对象,通过使用相同的方法打印它们来检查它们是否存在。当我在另一个方法中将该Arraylist用作参数时,它会给我一个错误,就像Arraylist为空一样

让我们用getFila和getColumna方法来表示对象的位置(y,x)。 而失败的方法(实际上什么也不做):


在这个过程中,有人能帮我吗?

如果您使用的是像eclipse这样的IDE,您可以轻松地在有问题的代码中插入断点,并且可以“查看”每个变量的内容


因此,您可以找到arraylist变为空的确切位置。

如果您使用的是像eclipse这样的IDE,您可以轻松地在有问题的代码中插入断点,并且可以“监视”每个变量的内容


因此,您可以找到arraylist变为空的确切位置。

我认为arraylist包含位置对象。我不太清楚,所以这只是我的猜测

       System.out.println("(" +  aListPos.get(ii).getFila() + "," 
       + ListPos.get(ii).getColumna()+")");
相反。试试这个

       System.out.println("(" +  (aListPos.get(ii)).getFila() + "," 
       + (ListPos.get(ii)).getColumna()+")");

我认为您的ArryList包含位置对象。我不太清楚,所以这只是我的猜测

       System.out.println("(" +  aListPos.get(ii).getFila() + "," 
       + ListPos.get(ii).getColumna()+")");
相反。试试这个

       System.out.println("(" +  (aListPos.get(ii)).getFila() + "," 
       + (ListPos.get(ii)).getColumna()+")");

如果您在提供ArrayList的(不可见)方法中创建ArrayList,是否返回它?或者您正在修改一个参数

换句话说,您正在这样做:

ArrayList<Position> myArrayList = generateArrayList(); // or whatever you call it
ArrayList<Position> myArrayList;
generateArrayList(myArrayList);
ArrayList<Position> result = getTrayjectory(myArrayList);
ArrayList myArrayList=generateArrayList();//或者随便你怎么称呼它
或者你正在这样做:

ArrayList<Position> myArrayList = generateArrayList(); // or whatever you call it
ArrayList<Position> myArrayList;
generateArrayList(myArrayList);
ArrayList<Position> result = getTrayjectory(myArrayList);
ArrayList myArrayList;
generateArrayList(myArrayList);
ArrayList结果=getTrayjectory(myArrayList);

第二个版本不起作用,因为当你在一个方法中创建一个对象时,它能跳出方法边界的唯一方法就是由该方法返回。否则,当方法结束时,它将超出范围。

如果在提供它的(未看到的)方法中创建ArrayList,是否返回它?或者您正在修改一个参数

换句话说,您正在这样做:

ArrayList<Position> myArrayList = generateArrayList(); // or whatever you call it
ArrayList<Position> myArrayList;
generateArrayList(myArrayList);
ArrayList<Position> result = getTrayjectory(myArrayList);
ArrayList myArrayList=generateArrayList();//或者随便你怎么称呼它
或者你正在这样做:

ArrayList<Position> myArrayList = generateArrayList(); // or whatever you call it
ArrayList<Position> myArrayList;
generateArrayList(myArrayList);
ArrayList<Position> result = getTrayjectory(myArrayList);
ArrayList myArrayList;
generateArrayList(myArrayList);
ArrayList结果=getTrayjectory(myArrayList);

第二个版本不起作用,因为当你在一个方法中创建一个对象时,它能跳出方法边界的唯一方法就是由该方法返回。否则,当方法结束时,它将超出范围。

您能显示准确的错误以及填充arraylist的代码吗?我现在不在计算机旁。arraylist的填充方式是否重要?我知道它是填充的,因为我可以通过它打印每个元素的值。无论如何,我会把代码粘贴到这里。@AgusDG你能解释一下这两项吗请
aListPos.get(ii).getFila()
aListPos.get(ii).getColumna()
当然。aListPos是arraylist。它是类型Object Position,所以当我这样做时。get(ii)我得到位置ii的对象,所以toString,但是,由于我需要arraylist中每个对象的属性,我调用getFila和getColumna来调用对象位置的属性int Fila和int Columna。你能给出准确的错误和填充arraylist的代码吗?我现在不在计算机旁。arraylist的填充方式是否重要?我知道它是填充的,因为我可以通过它打印每个元素的值。无论如何,我会把代码粘贴到这里。@AgusDG你能解释一下这两项吗请
aListPos.get(ii).getFila()
aListPos.get(ii).getColumna()
当然。aListPos是arraylist。它是Object Position类型,所以当我这样做时。get(ii)我得到Position ii的对象,所以toString,但是因为我想要arraylist中每个对象的atributes,我调用getFila和getColumna来调用Object Position的atributes int Fila和int Columna。这应该作为注释而不是答案。你没有向他解释为什么会发生这种情况。这应该作为评论而不是回答。你不是在向他解释为什么会发生这种事。