Java 8 Variable Scope en Lambda
El acceso a variables dentro de lambdas puede ser algo confuso, pero es sencillo si lo ves con un ejemplo.
El acceso a variables dentro de lambdas puede ser algo confuso, pero es sencillo si lo ves con un ejemplo.
En Java 8 se han introducido importantes cambios como lambdas, interfaces funcionales y métodos por referencia.
Veamos ahora cómo hacer uso de constructores por referencia.
Java 8 introduce Optional, este es un wrapper que nos ayuda a prevenir los nullpointer tan comunes en Java. Optional nos da un métodos adecuados para validar si el valor contenido esta null o no.
Java 8 nos trae al fin una nueva api para el manejo de fechas. Nos encontramos dentro del paquete java.time con nuevas clases para resolver los problemas con fechas como LocalDate, horas con LocalTime o la combinación de fecha y hora con LocalDateTime. También incluye como es debido dentro de esta api el uso de zonas horarios con ZonedDateTime.
ExecutorService nos simplifica las tareas asincronas proveyendo un pool de hilos que son manejados por esta API abstrayendonos del trabajo de crearlos y asignarles tareas a estos hilos.
Un buen patrón para resolver la complejidad cuando debes implementar diferentes comportamientos según algún estado es el patrón strategy.
En una aplicacion Spring en la cual exponemos endpoints Rest para que los clientes la consuman contamos con un manejador de excepciones de forma global para toda tu app.
Para este ejemplo desarrollarás una pequeña aplicación que recibirá un post con un body en json para crear un User mediante un rest api, también tendrás la opción de consultar los User guardados en la BD.
Puedes utilizar lambda para crear métodos anónimos, pero hay casos en el que estas expresiones lambda no hacen otra cosa más que llamar a otro método.
En estos casos resulta más claro llamar al método directamente por su nombre.
Podemos definir Streams como una secuencia de funciones que se ejecutan una detrás de otra, de forma anidada.