Java 10: Dominar la inferencia de tipo de variable local con var
JEP 286 - Inferencia de Tipo de Variable Local
La Inferencia de Tipo de Variable Local es uno de los cambios más evidentes en el lenguaje disponibles desde Java 10 en adelante. Permite definir una variable usando var sin especificar su tipo. El compilador infiere el tipo de la variable usando el valor proporcionado. Esta inferencia de tipo está restringida a variables locales.
Forma antigua de declarar variable local
String nombre = "Bienvenido a tutorialspoint.com";
Nueva forma de declarar variable local
var nombre = "Bienvenido a tutorialspoint.com";
Ahora el compilador infiere el tipo de la variable nombre como String al inspeccionar el valor proporcionado.
Puntos Importantes
No hay inferencia de tipo en variables de miembro, parámetros de método, valores de retorno.
La variable local debe inicializarse en el momento de la declaración, de lo contrario el compilador no podrá inferir y lanzará error.
La inferencia de variable local está disponible dentro del bloque de inicialización de bucles.
Sin sobrecarga en tiempo de ejecución. Como el compilador infiere el tipo basado en el valor proporcionado, no hay pérdida de rendimiento.
Sin cambio de tipo dinámico. Una vez inferido el tipo de variable local, no puede cambiarse.
El código repetitivo complejo puede reducirse usando inferencia de tipo de variable local.
Map<Integer, String> mapNames = new HashMap<>();
var mapNames1 = new HashMap<Integer, String>();
Ejemplo
El siguiente programa muestra el uso de Inferencia de Tipo de Variable Local en JAVA 10.
import java.util.List;
public class Tester {
public static void main(String[] args) {
var nombres = List.of("Julie", "Robert", "Chris", "Joseph");
for(var nombre : nombres) {
System.out.println(nombre);
}
System.out.println("");
for(var i = 0; i < nombres.size(); i++) {
System.out.println(nombres.get(i));
}
}
}
Salida
Imprimirá la siguiente salida:
Julie
Robert
Chris
Joseph
Julie
Robert
Chris
Joseph
Java
- Tipos de Datos Primitivos en Java: Guía Completa con Ejemplos
- Dominar Operadores en Java: Tipos, Sintaxis y Ejemplos Prácticos
- Comentarios en Java: Tipos, Uso y Mejores Prácticas
- Dominar el Bucle for Mejorado en Java: Sintaxis, Ejemplos y Mejores Prácticas
- Dominar Strings en Java: Creación, Métodos y Mejores Prácticas
- Dominando interfaces en Java: Conceptos, implementación y mejores prácticas
- Dominando Try‑with‑Resources en Java: Gestión automática de recursos explicada
- Anotaciones en Java explicadas: Tipos, ubicación y ejemplos prácticos
- Dominando el Casting de Tipos en Java: Desde Ensanchamiento hasta Estrechamiento y Más Allá
- Java Static explicado: Variables, métodos y bloques – Ejemplos prácticos
- Tipos de Datos Primitivos en Java: Guía Clara