Inférence de type avec var
Utilisez var pour l'inférence de type dans les variables locales — moins de bruit, la même sécurité.
Comparaison de Code
✕ 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
}
Un problème avec ce code ? Dites-le nous.
Pourquoi la méthode moderne gagne
Moins de code répétitif
Pas besoin de répéter les types génériques complexes des deux côtés de l'affectation.
Meilleure lisibilité
Concentrez-vous sur les noms de variables et les valeurs, pas sur les déclarations de types.
Toujours sûr en termes de types
Le compilateur infère et applique le type exact à la compilation.
Ancienne Approche
Types explicites
Approche Moderne
Mot-clé var
Depuis JDK
10
Difficulté
Débutant
Support JDK
Inférence de type avec var
Disponible
Disponible depuis JDK 10 (mars 2018)
Comment ça fonctionne
Depuis Java 10, le compilateur infère les types des variables locales à partir du côté droit. Cela réduit le bruit visuel sans sacrifier la sécurité des types. Utilisez var quand le type est évident par le contexte.
Documentation Associée