【发布时间】:2015-05-25 04:30:11
【问题描述】:
我写了一段代码,想知道如何使用流更优雅地编写它 在这里:
public boolean possibleToAddTask(LocalDate taskDate, final String username) {
List<Task> userTasklist = find(username).getTaskList();
for(Task task : userTasklist) {
if(task.getDate().equals(taskDate)){
return false;
}
}
return true;
}
这里 - 从方法返回一些布尔值。如果某个任务中已经存在指定的日期,则返回false,否则返回true(因此返回类型回答了方法名称中提出的问题:))
我尝试在流上使用过滤器,但它只工作了一段时间,然后单元测试给了我一些意想不到的结果,所以我删除了它并把它写成它的上部。现在我想美化它
以前是这样的:
public boolean possibleToAddTask(LocalDate taskDate, final String username) {
List<Task> userTasklist = find(username).getTaskList();
try {
userTasklist.stream().filter(n -> n.getDate().equals(taskDate)).findFirst().get();
return true;
} catch (NoSuchElementException e) {
return false;
}
}
提前感谢:)
【问题讨论】:
标签: java foreach filter java-8 java-stream