Language Avanzato

Il pattern matching ora funziona anche con i tipi primitivi, non solo gli oggetti.

✕ 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";
    };
}
Vedi un problema con questo codice? Faccelo sapere.
📦

Nessun boxing

Corrisponde ai primitivi direttamente — nessun wrapper Integer necessario.

🎯

Coerenza dei pattern

Stessa sintassi dei pattern per oggetti e primitivi.

Prestazioni migliori

Evita l'overhead dell'autoboxing nel pattern matching.

Approccio Vecchio
Controlli manuali degli intervalli
Approccio Moderno
Pattern primitivi
Dal JDK
25
Difficoltà
Avanzato
Tipi primitivi nei pattern
Anteprima

Anteprima nel JDK 25 (terza anteprima, JEP 507). Richiede --enable-preview.

Java 25 estende il pattern matching ai tipi primitivi. Puoi usare int, long, double ecc. nei pattern switch con guardie when, eliminando la necessità di boxing o controlli manuali degli intervalli.

Condividi 𝕏 🦋 in