Inferencia de tipos con var
Usa var para inferencia de tipos en variables locales — menos ruido, la misma seguridad.
Comparación de Código
✕ Java 8
Map<String, List<Integer>> map =
new HashMap<String, List<Integer>>();
for (Map.Entry<String, List<Integer>> e
: map.entrySet()) {
// verbose type noise
}
✓ Java 10+
var map = new HashMap<String, List<Integer>>();
for (var entry : map.entrySet()) {
// clean and readable
}
¿Ves un problema con este código? Cuéntanos.
Por qué gana la forma moderna
Menos código repetitivo
No es necesario repetir tipos genéricos complejos en ambos lados de la asignación.
Mejor legibilidad
Concéntrate en los nombres de variables y valores, no en las declaraciones de tipo.
Sigue siendo tipado seguro
El compilador infiere y aplica el tipo exacto en tiempo de compilación.
Enfoque Antiguo
Tipos explícitos
Enfoque Moderno
Palabra clave var
Desde JDK
10
Dificultad
Principiante
Soporte JDK
Inferencia de tipos con var
Disponible
Ampliamente disponible desde JDK 10 (marzo 2018)
Cómo funciona
Desde Java 10, el compilador infiere los tipos de las variables locales a partir del lado derecho. Esto reduce el ruido visual sin sacrificar la seguridad de tipos. Usa var cuando el tipo sea obvio por el contexto.
Documentación Relacionada