Javaslang Features

2016-12-25
Java/ Java 8

Hoy mostraremos algunas características que tiene Javaslang, una librería funcional, inspirada en Scala, que expande las funcionalidades de Java8. Para estos ejemplos, hemos usado la versión 2.0.5

Listas

Comenzaremos por un ejemplo de eliminar verbosidad a la hora de trabajar con la API de Streams:

Tuplas

Ejemplo sencillo de uso y operaciones aplicables a una tupla.

Try

Try es un contenedor monádico que representa un valor de una computación que puede lanzar una excepción (Failure) o un valor satisfactorio (Success). Este es un ejemplo sencillo de cómo leer las líneas de un fichero y hacer algún tratamiento con ellas:

Lazy

Lazy es un contenedor monádico que representa un valor evaluado en el momento de uso. Utiliza el patrón Memoize y se ejecuta sólo una vez.

Pattern Matching

Ejemplo de la kata de FizzBuzz usando pattern matching:

Option

Parecida a la clase Optional, con la diferencia que encapsula el valor en un objeto de tipo Some ó None

Bueno, esperamos que te haya gustado este pequeño resumen, si te ha entrado curiosidad puedes echarle un vistazo a la documentación oficial.


Comments: