Archive | Java 8 RSS feed for this section

javaStreamStringMini

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 […]

javastreampeekfuncionamiento

Java Stream peek funcionamiento y logging

A veces usar Java Stream peek , es clave para entender cual es el funcionamiento de un flujo de Stream a nivel de Java 8 . Recordemos que los Streams nos permiten realizar operaciones complejas sobre un conjunto de datos . En ocasiones si el flujo de operaciones es elaborado cuesta entender realmente lo  que […]

java8FactoryPatternLambda

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 […]

JavaMultipleInheritanceDefault

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 […]

java8interfacestaticmethods

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 […]

Lienzo 2

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 […]

JavaStreamCollectorDiagram

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 […]

javamixinsjava8

Java Mixins, un ejemplo sencillo

¿Qué son los Java Mixins? . El concepto de Mixin esta asociado a la reutilización de código. Un mixin es una clase que contiene código para que otras clases lo reutilicen pero que no se apoya en la herencia para hacerlo. Dicho así suena un poco extraño pero vamos a ver un ejemplo sencillo que […]

javapredicateinterfaceor

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 […]

javainfinitestreamuso

El concepto de Java infinite Stream

¿Qué es un Java Infinite Stream? . Los streams infinitos son una de las características más interesantes del API de Java 8. Nos permiten realizar operaciones habituales enfocándolas desde la programación funcional. Por ejemplo supongamos que queremos sumar los primeros 1000 números enteros en Java . Es una operación muy sencilla simplemente construimos un bucle […]

JavaTimePackageLocalDate

Java time package y clases fundamentales

Cuanta falta hacía un Java time package en Java8. Hemos vivido muchos años utilizando las clases de Date, Calendar y SimpleDateFormat.  Era más que evidente que se necesitaba una solución mas potente tipo JodaTime dentro del propio API de Java. Con la llegada de Java 8 es una de las cosas que se ha conseguido. […]

Java8FlatMapDiagram

Java 8 FlatMap y Streams

El uso de Java 8 FlatMap es algo que en muchas ocasiones cuesta entender . La programación funcional en Java 8 esta empezando y para la mayor parte de la gente es algo muy nuevo. Vamos a crear un ejemplo sencillo de flatMap, partiremos de dos clases relacionadas Personas y Viajes. Una persona realiza varios […]