Tipos primitivos en patrones
El pattern matching ahora funciona con tipos primitivos, no solo con objetos.
Comparación de Código
✕ 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";
};
}
¿Ves un problema con este código? Cuéntanos.
Por qué gana la forma moderna
Sin boxing
Coincide con primitivos directamente — sin necesidad del wrapper Integer.
Consistencia de patrones
La misma sintaxis de patrones para objetos y primitivos.
Mejor rendimiento
Evita la sobrecarga del autoboxing en el pattern matching.
Enfoque Antiguo
Comprobaciones de rango manuales
Enfoque Moderno
Patrones primitivos
Desde JDK
25
Dificultad
Avanzado
Soporte JDK
Tipos primitivos en patrones
Preview
Preview en JDK 25 (tercer preview, JEP 507). Requiere --enable-preview.
Cómo funciona
Java 25 extiende el pattern matching a tipos primitivos. Puedes usar int, long, double, etc. en patrones de switch con guardas when, eliminando la necesidad de boxing o comprobaciones de rango manuales.
Documentación Relacionada