Pattern matching pour instanceof
Combine la vérification de type et le casting en une seule étape avec le pattern matching.
Comparaison de Code
✕ Java 8
if (obj instanceof String) {
String s = (String) obj;
System.out.println(s.length());
}
✓ Java 16+
if (obj instanceof String s) {
IO.println(s.length());
}
Un problème avec ce code ? Dites-le nous.
Pourquoi la méthode moderne gagne
Sans casting redondant
La vérification de type et la liaison de variable se font en une seule expression.
Moins de lignes
Une ligne au lieu de deux — la ligne de casting disparaît complètement.
Portée sûre
La variable de pattern n'est dans la portée que là où le type est garanti.
Ancienne Approche
instanceof + casting
Approche Moderne
Variable de pattern
Depuis JDK
16
Difficulté
Débutant
Support JDK
Pattern matching pour instanceof
Disponible
Disponible depuis JDK 16 (mars 2021)
Comment ça fonctionne
Le pattern matching pour instanceof élimine le casting redondant après une vérification de type. La variable est automatiquement limitée à la portée où le pattern correspond, rendant le code plus sûr et concis.
Documentation Associée