Language Avancé

Le pattern matching fonctionne maintenant avec les types primitifs, pas seulement avec les objets.

✕ 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.
📦

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é
Types primitifs dans les patterns
Aperçu

Aperçu dans JDK 25 (troisième aperçu, JEP 507). Nécessite --enable-preview.

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.

Partager 𝕏 🦋 in