Resumen de Java 8: Nuevas APIs Funcionales, Streaming y Date-Time
JAVA 8 es un lanzamiento importante de características del lenguaje de programación JAVA. Su versión inicial se lanzó el 18 de marzo de 2014. Con el lanzamiento de Java 8, Java proporcionó soporte para programación funcional, nuevo motor JavaScript, nuevas APIs para manipulación de fecha y hora, nueva API de streaming, etc.
Nuevas Características
Expresión Lambda - Añade capacidad de procesamiento funcional a Java.
Referencias a Métodos - Referenciar funciones por sus nombres en lugar de invocarlas directamente. Usar funciones como parámetros.
Método Por Defecto - Interfaz para tener implementación de método por defecto.
Nuevas Herramientas - Nuevas herramientas de compilador y utilidades añadidas como 'jdeps' para averiguar dependencias.
Stream API - Nueva API de stream para facilitar procesamiento en pipeline.
Date Time API - API de fecha y hora mejorada.
Optional - Énfasis en mejores prácticas para manejar valores nulos correctamente.
Nashorn, Motor JavaScript - Un motor basado en Java para ejecutar código JavaScript.
Considera el siguiente fragmento de código.
import java.util.Collections;
import java.util.List;
import java.util.ArrayList;
import java.util.Comparator;
public class Java8Tester {
public static void main(String args[]) {
List<String> names1 = new ArrayList<String>();
names1.add("Mahesh ");
names1.add("Suresh ");
names1.add("Ramesh ");
names1.add("Naresh ");
names1.add("Kalpesh ");
List<String> names2 = new ArrayList<String>();
names2.add("Mahesh ");
names2.add("Suresh ");
names2.add("Ramesh ");
names2.add("Naresh ");
names2.add("Kalpesh ");
Java8Tester tester = new Java8Tester();
System.out.println("Ordenar usando sintaxis Java 7: ");
tester.sortUsingJava7(names1);
System.out.println(names1);
System.out.println("Ordenar usando sintaxis Java 8: ");
tester.sortUsingJava8(names2);
System.out.println(names2);
}
// Ordenar usando java 7
private void sortUsingJava7(List<String> names) {
Collections.sort(names, new Comparator<String>() {
@Override
public int compare(String s1, String s2) {
return s1.compareTo(s2);
}
});
}
// Ordenar usando java 8
private void sortUsingJava8(List<String> names) {
Collections.sort(names, (s1, s2) -> s1.compareTo(s2));
}
}
Ejecuta el programa para obtener el siguiente resultado.
Ordenar usando sintaxis Java 7:
[Kalpesh, Mahesh, Naresh, Ramesh, Suresh]
Ordenar usando sintaxis Java 8:
[Kalpesh, Mahesh, Naresh, Ramesh, Suresh]
Aquí el método sortUsingJava8() usa la función sort con una expresión lambda como parámetro para obtener el criterio de ordenación.
Java
- Dominando strings en C#: Fundamentos, operaciones y técnicas avanzadas
- Dominar Operadores en Java: Tipos, Sintaxis y Ejemplos Prácticos
- Dominar Strings en Java: Creación, Métodos y Mejores Prácticas
- Dominando interfaces en Java: Conceptos, implementación y mejores prácticas
- Dominando representaciones String en Enums de Java
- Dominando Try‑with‑Resources en Java: Gestión automática de recursos explicada
- Anotaciones en Java explicadas: Tipos, ubicación y ejemplos prácticos
- Método Java String length(): Cómo obtener el tamaño de un String (Ejemplo)
- Dominando Java String.indexOf(): Localizar subcadenas y ejemplos prácticos
- Entendiendo Java String.charAt(): Sintaxis, tipo de retorno, excepciones y ejemplo práctico
- Dominando el método compareTo() de Java String: Sintaxis, casos de uso y ejemplos prácticos