El uso del interface Java Comparator es muy común cuando trabajamos con Java . En muchas ocaciones tenemos que ordenar una lista de elementos y usamos el interface Comparator para hacerlo . Hasta la llegada de Java 8 comparar elementos siempre ha sido bastante engorroso . Vamos a ver un ejemplo clásico para luego evolucionarle con Java […]
Java 9 Modules y el concepto de modularidad
Todavía nos quedará tiempo para usar Java 9 Modules ya que acaban de llegar. ¿Pero qué son y para que sirven los Java 9 Modules?. Hasta hoy en día Java ha organizado sus clases a través del concepto de paquetes que es un concepto puramente lógico. Un conjunto de clases pertenecen a un paquete determinado. […]
Java Stream Sum y Business Objects
El uso de Java Stream sum nos lo encontramos muchas veces en nuestro código de Java para sumar un conjunto de elementos. Sin embargo a veces nos olvidamos que los Streams han venido para ser usados en la plataforma Java en general y se pueden aplicar a muchas situaciones. Vamos a ver un ejemplo en […]
Java Stream map y estadísticas
El uso de Java Stream map es una de las operaciones más comunes cuando trabajamos con un flujo de Streams . El método map nos permite realizar una transformación rápida de los datos y muy directa sobre el flujo original. Vamos a ver algunos ejemplos que nos ayuden a clarificar como se utiliza Java Stream […]
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 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 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 […]
Java 8 Optional y NullPointerExceptions
El uso de Java 8 Optional es cada día más común para todos los que desarrollamos sobre Java 8. ¿Para qué sirve un tipo Optional? . Su uso esta centrado en eliminar muchos de los problemas que ocurren con el manejo de excepciones de tipo NullPointerException . Vamos a ver un ejemplo sencillo. Supongamos que […]
Java Stream Collectors y su uso
Cuanto más usamos los streams más usamos los diferentes Java Stream Collectors para transformar estos. Vamos a ver cuales son las diferentes opciones que Java soporta para transformar un stream a otro tipo de estructura. Para ello nos vamos a crear la clase Libro y usarla en diferentes ejemplos. Acabamos de instanciar tres objetos ,vamos […]
Java Predicate Interface y sus métodos
¿Cuales son los métodos más utilizados de un Java Predicate Interface? . Estamos muy acostumbrados a usar un predicado concreto para filtrar Streams . Muchas veces se nos olvida que el interface soporta varios métodos que aportan flexibilidad. Vamos a echarlos un vistazo . Para ello partiremos de una colección de Personas que queremos recorrer utilizando […]
Java Functional Interface
¿Qué es un Java Functional Interface? . Java8 incluye muchas novedades y entra ellas destacan las expresiones lambda. Recordemos que una expresión lambda define el comportamiento de una función. Podemos usar la expresión lambda en nuestro código Java : Sin embargo ella sola no compila ya que necesitamos igualarla a una variable lo que no […]