How to solve java lambda filter future collection?
I got a future collection, And I want to filter out the false result returned in the collection, but using lambda to report (Missing return statement), I want to get a collection looks like List<Map<String, Object>>
. What should I do to achieve filtering?
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();
The Map<String, Object>
structure looks like this {"success":"false", "msg":"I got error"}
You must have return statements in all execution paths: