Tipi primitivi nei pattern
Il pattern matching ora funziona anche con i tipi primitivi, non solo gli oggetti.
Confronto Codice
✕ 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.
Perché vince l'approccio moderno
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
Supporto JDK
Tipi primitivi nei pattern
Anteprima
Anteprima nel JDK 25 (terza anteprima, JEP 507). Richiede --enable-preview.
Come funziona
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.
Documentazione Correlata