如何修复java lambda筛选器(缺少返回语句)与future
如何解决java lambda过滤器未来的收集
我得到了一个未来的集合,我想过滤掉集合中返回的假结果,但是使用lambda来报告(缺少return语句),我想得到一个类似List<Map<String, Object>>
的集合。我应该如何实现过滤
List<Future<Map<String, Object>>> future =
childIds.getChildOrder()
.stream()
.map(i -> service.submit(new some(i)))
.collect(Collectors.toList());
future.stream().filter(i -> {
try {
i.get().get("success").equals(Boolean.FALSE);
} catch (InterruptedException e) {
e.printStackTrace();
} catch (ExecutionException e) {
e.printStackTrace();
}
}).findAny().get().get();
Map<String, Object>
结构看起来像这样{"success":"false", "msg":"I got error"}
# 1 楼答案
所有执行路径中都必须有return语句:
# 2 楼答案
您可以一次性完成这项工作,并根据需要创建列表
包括返回值以消除IDE警告
我真的想看看你在这里想做什么。可能有一个更简单的方法