Estoy tratando de convertir este fragmento de código a la secuencia de Java 8:
if (list != null && !list.isEmpty()) { Actor actor = null; for (Actor actor : list) { log.info("Actor being read: " actor.getCode()); List<String> areaList = areaDAO.getArea(actor.getCode()); if (!areaList.isEmpty()) { actor.setArea(areaList.get(0)); log.info("Area{" + areaList.get(0) + "} is fetched for actor{" + actor.getCode() + "}."); } this.getContext().setReadCount(1); } }Sin embargo, no estoy seguro de cómo lidiar con el registro en este caso. ¿Es una buena práctica? Aprecio tu ayuda. Gracias
A menudo ponemos el inicio de sesión en nuestro código para admitir la depuración. En este caso, le recomendaría que eche un vistazo al método peek .
Aquí hay una pista:
List<Actor> actors = ...; actors. stream(). peek(a -> System.out.println("Processing code: " + a.getCode())). forEach(a -> {/*Do something here*/});De los javadocs:
Nota de la API: este método existe principalmente para admitir la depuración, donde desea ver los elementos a medida que pasan por un punto determinado en una canalización:
Creo que usar forEach en este caso funcionaría bastante bien para ti. Ejemplo:
list.stream().forEach(actor -> { log.info(String.format("Actor being read {%s}", actor)); String actorCode = actor.getCode(); areaDAO.getArea(actorCode).stream().findFirst().ifPresent(area -> { actor.setArea(area); log.info(String.format("Area {%s} is fetched for actor {%s}", area, actorCode)); }); getContext().setReadCount(1); }) Es posible que desee Objects.isNull() también en algunos casos, por ejemplo, para esa parte getCode, así como Optional.ofNullable ?