我有一个包含对象的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内部循环中的每个对象。我该怎么办呢?我试图返回一个对象数组,但它也没有用。它仍处于循环中,它想要返回循环外的东西。提前谢谢。
答案 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);
}