从方法中的ArrayList获取数据

时间:2014-07-04 19:16:46

标签: java arrays methods collections arraylist

我有一个包含对象的ArrayList项

ArrayList<Object> nodeList;

我用记录填写它,我像这样检索表单数据库

//start loop
nodeList.add(getResultSet().getString(i).trim());
//end loop

现在,我想得到那些结果,所以我创建了一个“getter”方法

public Object getResults(){
    for(int i = 0; i < nodeList.size(); i++){
        return nodeList.get(i);
    }
}

Netbeans告诉我,返回语句丢失了,虽然我返回了arrayList内部循环中的每个对象。我该怎么办呢?我试图返回一个对象数组,但它也没有用。它仍处于循环中,它想要返回循环外的东西。提前谢谢。

2 个答案:

答案 0 :(得分:4)

Netbeans抱怨是因为,如果列表为空,代码将不会进入for循环体,并且不会返回任何值。

此外,你的getter方法毫无意义。您总是返回列表中的第一个元素,因为return将退出该方法。如果您“想要获得这些结果”,则应该返回整个nodeList

public List<Object> getResults() {
   return nodeList;
}

如果你想在索引i获取元素,你可以按如下方式编写getter:

public Object getResult(int i) {
   return nodeList.get(i);
}

此外,正如Luiggi在评论中指出的那样,您可以避免在Object列表中添加结果,而是创建一个实体类,其中包含与检索到的列对应的字段。

答案 1 :(得分:2)

一旦你返回命令,方法就完成了。你得到错误是因为如果你将空列表作为方法参数提供,那么for循环将被忽略,在这种情况下方法应该返回一些东西。

如果你想从列表中返回一些值,你应该写一些类似的东西:

public Object getResults(int position){
        return nodeList.get(position);
}