Nuevas características de Java 8
Java 8 (también conocido como JDK 1.8) es una versión principal del desarrollo del lenguaje Java. Oracle Corporation lanzó Java 8 el 18 de marzo de 2014. Admite programación funcional, un nuevo motor de JavaScript, una nueva API de fechas, una nueva API Stream, etc.
Nuevas características
Java 8 agregó muchísimas características. Discutiremos principalmente las siguientes:
Expresiones Lambda− Lambda permite usar una función como parámetro de un método (la función se pasa como parámetro a un método).
Referencias de métodos− Las referencias de métodos proporcionan una sintaxis muy útil que permite referenciar directamente métodos o constructores de clases u objetos (instancias) de Java existentes. Cuando se usan junto con lambda, las referencias de métodos pueden hacer que las construcciones del lenguaje sean más compactas y concisas, reduciendo el código redundante.
Métodos predeterminados− Un método predeterminado es un método que tiene una implementación dentro de una interfaz.
Nuevas herramientas− Nuevas herramientas de compilación, como: el motor Nashorn jjs, el analizador de dependencias de clases jdeps.
Stream API− La API Stream recién agregada (java.util.stream) introduce un verdadero estilo de programación funcional en Java.
Date Time API− Mejora el manejo de fechas y horas.
Clase Optional− La clase Optional ya forma parte de la biblioteca de Java 8 y se utiliza para resolver las excepciones de puntero nulo.
Nashorn, motor de JavaScript− Java 8 proporciona un nuevo motor de JavaScript Nashorn, que nos permite ejecutar aplicaciones de JavaScript específicas en la JVM.
Se pueden consultar más características nuevas en el sitio web oficial:What's New in JDK 8
En los ejemplos de los artículos sobre Java 8, todos usamos el entorno JDK 1.8. Puedes usar el siguiente comando para ver la versión actual de JDK:
$ java -version java version "1.8.0_31" Java(TM) SE Runtime Environment (build 1.8.0_31-b13) Java HotSpot(TM) 64-Bit Server VM (build 25.31-b07, mixed mode)
Estilo de programación
Java 8 quiere tener su propio estilo de programación y distinguirse de Java 7. El siguiente ejemplo muestra los formatos de programación de Java 7 y Java 8:
Código del archivo Java8Tester.java:
Al ejecutar el script anterior, el resultado es:
$ javac Java8Tester.java $ java Java8Tester 使用 Java 7 语法: [Baidu , Google , Ejemplo , Sina , Taobao ] 使用 Java 8 语法: [Baidu , Google , Ejemplo , Sina , Taobao ]
A continuación, presentaremos en detalle las nuevas características de Java 8:
| N.º | Característica |
|---|---|
| 1 | Expresiones Lambda |
| 2 | Referencias de métodos |
| 3 | Interfaces funcionales |
| 4 | Métodos predeterminados |
| 5 | Stream |
| 6 | Clase Optional |
| 7 | Nashorn, motor de JavaScript |
| 8 | Nueva API de fecha y hora |
| 9 | Base64 |