La documentación oficial nos dice: Optional en Java es una clase de Java 8 que actúa como un contenedor para un valor que puede estar presente o no. Se utiliza para gestionar explícitamente los valores nulos y evitar NullPointerException, haciendo el código más claro y seguro. En lugar de retornar un valor null, que puede provocar errores, Optional permite crear objetos que pueden estar vacíos o contener un valor, lo que requiere que el programador maneje explícitamente el caso de que no haya valor. Con la clase Optional podemos: Evitar el riesgo de un NullPointerException. Checar si un valor existe o no. Recuperar un valor está presente o no. Ejecutar acciones en función si el valor esta presente o no. Esta clase promueve un estilo de programación más seguro y expresivo. Importamos esta clase: import java.util.Optional; Una vez importada la podremos usar. Veamos la clase: public final class Optional < T > {} Como se puede ver se t...
En la anterior entrega vimos lo que son las expresiones lambda . En esta ocasión veremos las Functional Interfaces . Una Functional Interface es una interfaz Java que contiene un solo método abstracto. Esto garantiza que se pueda usar con expresiones lambda. ¿Cómo definimos una Functional Interface (interface funcional)? Con la anotación @FunctionalInterface un ejemplo sería este bloque: @FunctionalInterface interface MyInterfaceFuncional { void hacerAlgo (); } Como vimos anteriormente existen cuatro principales: Consumer: Puede o no recibir algún valor y no devolver nada. Function: Puede tomar dos valores de distinto tipo y devolver un valor en específico. Predicate: Puede tomar valores y devolver un valor booleano true o false. Supplier: No recibe valores, pero devuelve un valor. Consumer. @FunctionalInterface interface Consumer < T > { void accept (T t); } Function. @FunctionalInterface interface Func...