Inferenza di tipo con var
Usa var per l'inferenza di tipo nelle variabili locali — meno rumore, stessa sicurezza.
Confronto Codice
✕ 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
}
Vedi un problema con questo codice? Faccelo sapere.
Perché vince l'approccio moderno
Meno codice ripetitivo
Non è necessario ripetere tipi generici complessi su entrambi i lati dell'assegnazione.
Migliore leggibilità
Concentrati sui nomi delle variabili e i valori, non sulle dichiarazioni di tipo.
Ancora type-safe
Il compilatore inferisce e applica il tipo esatto in fase di compilazione.
Approccio Vecchio
Tipi espliciti
Approccio Moderno
Parola chiave var
Dal JDK
10
Difficoltà
Principiante
Supporto JDK
Inferenza di tipo con var
Disponibile
Ampiamente disponibile dal JDK 10 (marzo 2018)
Come funziona
Da Java 10, il compilatore inferisce i tipi delle variabili locali dal lato destro dell'assegnazione. Questo riduce il rumore visivo senza sacrificare la sicurezza dei tipi. Usa var quando il tipo è ovvio dal contesto.
Documentazione Correlata