El concepto de Java constructor reference es relativamente habitual cuando trabajamos con lambdas y Streams. Sin embargo muchas veces cuesta entender como funciona y que es lo que aporta. Vamos a ver un ejemplo sencillo en el cual hacemos una referencia a un constructor con Java 8 . Para ello nos vamos a apoyar en […]
Java Stream Filter y Predicates
Las opciones de Java Stream Filter son muy amplias pero para poder trabajar con ellas de forma cómoda hay que entender el funcionamiento del interface Predicate a detalle. Vamos a construir un ejemplo con una lista de libros que nos permite entender mejor como funcionan los filtros. Para ello vamos a partir de los siguientes […]
Java Stream String y Java 8
El uso de Java Stream String es muy común cuando utilizamos Java 8. La realidad es que en muchos casos necesitamos transformar una cadena de texto en otra cosa y que mejor que usar los Streams y la programación funcional para hacerlo. Así que todos nosotros rápidamente vamos a revisar el API de Java y […]
Java 8 Factory Pattern y su implementación
El concepto de Java 8 Factory Pattern es cada día más utilizado ya que nos permite simplificar la implementación del clásico patrón factoría utilizando Java 8 y reduciendo el número de clases. Vamos a ver como implementarlo, para ello partiremos de un ejemplo clásico de gestión de Facturas y calculo de IVAs y lo evolucionaremos […]
Java Stream forEach y colecciones
El uso de Java Stream forEach poco a poco se va haciendo hueco entre los desarrolladores que utilizan programación funcional. El problema fundamentalmente que existe con el método forEach es que estamos muy acostumbrados a usar un bucle clásico forEach y nos funciona bastante bien .Así que da un poco de pereza cambiarlo . ¿ […]
Java Multiple Inheritance con default methods
El soporte de Java Multiple Inheritance ha sido siempre una de las características que mas se echaban en falta en Java. La razón que siempre se ha esgrimido es que la herencia múltiple es algo que complica el código y la vida al desarrollador. Sin embargo hay que reconocer que en más de una ocasión […]
Lambda inferred type y sus ventajas
El uso de Java lambda inferred type es muy común cuando trabajamos con expresiones lambda pero a veces es difícil entender como funcionan. Vamos a construir unos ejemplos que nos ayuden a clarificar el concepto. Para ello vamos a partir de un interface Calculadora que define el concepto de operación para luego apoyarnos en expresiones […]
Java 8 interface static methods y reutilizacion
El uso de Java 8 interface static methods genera muchas dudas entre los desarrolladores. ¿Para qué podemos necesitar usar métodos estáticos a nivel de interfaces?. La respuesta tiene que ver con el concepto de reutilización de código y agrupamiento de responsabilidades . Vamos a construir como siempre un ejemplo que nos ayude a clarificar las […]







