我目前正在第二学期学习Java,对于这个项目,我们应该一起使用ArrayLists,增强的for-each循环和线性搜索。对于该项目,我正在创建一个任务管理器,并且希望通过这种方法在ArrayList中搜索日期,然后以正确的日期返回整个任务。我从“类型不匹配:无法从Task转换为ArrayList”下面突出显示的行中收到此错误,由于分配准则,此方法必须将其作为ArrayList返回,我在做什么错?以及我该如何解决?
public ArrayList<Task> findTasksByDate(Date date) {
while(i<taskMan.size()); {
for (Task element: taskMan) {
if (date.equals(taskMan.get(i).getDueDate())) {
return taskMan.get(i);//error with this line
}
return null;
}
i++;
}
}
要返回ArrayList,您需要声明一个本地ArrayList,将元素添加到列表中,然后返回列表。像这样:
public ArrayList<Task> findTasksByDate(Date date) {
ArrayList<Task> returnList = new ArrayList<Task>();
while(i<taskMan.size()); {
for (Task element: taskMan) {
if (date.equals(taskMan.get(i).getDueDate())) {
returnList.add(taskMan.get(i));
return returnList;
}
return null;
}
i++;
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句