Tipos primitivos em padrões
O pattern matching agora funciona com tipos primitivos, não apenas objetos.
Comparação 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";
};
}
Viu um problema com este código? Nos avise.
Por que a forma moderna ganha
Sem boxing
Faça correspondência de primitivos diretamente — sem necessidade do wrapper Integer.
Consistência de padrões
Mesma sintaxe de padrões para objetos e primitivos.
Melhor desempenho
Evite o overhead de autoboxing no pattern matching.
Abordagem Antiga
Verificações manuais de faixa
Abordagem Moderna
Padrões primitivos
Desde o JDK
25
Dificuldade
Avançado
Suporte JDK
Tipos primitivos em padrões
Preview
Preview no JDK 25 (terceiro preview, JEP 507). Requer --enable-preview.
Como funciona
O Java 25 estende o pattern matching para tipos primitivos. Você pode usar int, long, double etc. em padrões de switch com guardas when, eliminando a necessidade de boxing ou verificações manuais de faixa.
Documentação Relacionada