- CompletableFuture: la forma de tratar los futuros, en Java 8 es muy similar a la forma que tiene Scala para tratarlos
https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html http://19drops.com/blog/2014/10/09/future-in-scala-java/ https://docs.oracle.com/javase/8/docs/technotes/guides/concurrency/changes8.html
- Métodos sobre colecciones:
- forEach: es un nuevo método en Java 8 para recorrer colecciones.
https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html
- Clase Optional: una clase que puede o no puede tener valor, tiene muchos métodos, algunos de los usados en el proyecto han sido:
- empty() : devuelve un opcional vacío
- of(valor) : devuelve un opcional con el valor indicado
- ofNullable(valor) : devuelve un opcional describiendo el valor especificado, si este es nulo devuelve un opcional vacío
- orElse(valor) : devuelve el valor si la clase desde la que se invoca no es nula
https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html
- Métodos sobre Arrays: se han usado algunos nuevos métodos de Java 8 sobre Arrays como:
- emptyList() : devuelve una lista vacía
- asList(valores) : genera una lista con los valores indicados
https://docs.oracle.com/javase/8/docs/api/java/util/Arrays.html
- Librerías: se han usado la librería Gson y Typesafe:
- Gson : librería de Google para tratar los json en Java
https://github.com/google/gson
- Typesafe: librería para leer archivos de configuración
https://github.com/typesafehub/config
- Streams: extensión de Java Collections para procesar colecciones de forma que tenga un estilo funcional. Algunas operaciones que se pueden encontrar en el proyecto sobre Streams : filter, findFirst, orElseThrow
https://docs.oracle.com/javase/8/docs/api/java/util/stream/Stream.html http://winterbe.com/posts/2014/07/31/java8-stream-tutorial-examples/
- Consumer: esta interfaz acepta un solo argumento y no devuelve ningún valor, son usadas ya que este tipo de comportamiento en el lenguaje Scala viene implícito.
http://baddotrobot.com/blog/2015/07/14/scala-implicit-functions/
https://docs.oracle.com/javase/8/docs/api/java/util/function/Consumer.html
https://blog.idrsolutions.com/2015/03/java-8-consumer-supplier-explained-in-5-minutes/
El repositorio en github es el siguiente: https://github.com/DanielGarciaMandillo/java-thrust
Hasta la próxima!
No hay comentarios:
Publicar un comentario