Language Avançado

O pattern matching agora funciona com tipos primitivos, não apenas objetos.

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

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
Tipos primitivos em padrões
Preview

Preview no JDK 25 (terceiro preview, JEP 507). Requer --enable-preview.

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.

Compartilhar 𝕏 🦋 in