Types primitifs dans les patterns
Le pattern matching fonctionne maintenant avec les types primitifs, pas seulement avec les objets.
Comparaison de Code
✕ Java 8
String classify(int code) {
if (code >= 200 && code < 300)
return "success";
else if (code >= 400 && code < 500)
return "client error";
else
return "other";
}
✓ Java 25 (Preview)
String classify(int code) {
return switch (code) {
case int c when c >= 200
&& c < 300 -> "success";
case int c when c >= 400
&& c < 500 -> "client error";
default -> "other";
};
}
Un problème avec ce code ? Dites-le nous.
Pourquoi la méthode moderne gagne
Sans boxing
Correspond à des primitifs directement — sans besoin du wrapper Integer.
Cohérence des patterns
La même syntaxe de patterns pour les objets et les primitifs.
Meilleures performances
Évite la surcharge de l'autoboxing dans le pattern matching.
Ancienne Approche
Vérifications de plages manuelles
Approche Moderne
Patterns primitifs
Depuis JDK
25
Difficulté
Avancé
Support JDK
Types primitifs dans les patterns
Aperçu
Aperçu dans JDK 25 (troisième aperçu, JEP 507). Nécessite --enable-preview.
Comment ça fonctionne
Java 25 étend le pattern matching aux types primitifs. Vous pouvez utiliser int, long, double, etc. dans des patterns switch avec des gardes when, éliminant le besoin de boxing ou de vérifications de plages manuelles.
Documentation Associée