Oceano :
¿Cómo resolver java cobro futuro filtro lambda?
Tengo una colección de futuro, y quiero para filtrar el resultado falso devuelto en la colección, pero el uso de lambda para informe (Falta la instrucción de retorno), quiero conseguir una colección se parece List<Map<String, Object>>
. ¿Qué debo hacer para alcanzar la filtración?
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();
Las Map<String, Object>
miradas estructura como esta{"success":"false", "msg":"I got error"}
Eran :
Debe tener sentencias de retorno en todos los caminos de ejecución:
future.stream().filter(i -> {
try {
return i.get().get("success").equals(Boolean.FALSE);
} catch (InterruptedException e) {
e.printStackTrace();
} catch (ExecutionException e) {
e.printStackTrace();
}
return false; // depending on what you wish to return in case of exception
}).findAny().get().get();