4 pontos por GN⁺ 2023-09-18 | Ainda não há comentários. | Compartilhar no WhatsApp
  • Com lançamento previsto para 19/9/2023, o Java 21 oferece suporte a padrões de record em blocos e expressões switch, uma atualização importante que aproxima o Java de padrões de programação funcional como os de Kotlin, Rust e C#
  • O Java evoluiu rapidamente na última década e, desde o Java 9, recebe grandes atualizações a cada 6 meses
  • O Java 21 estabiliza padrões de record e pattern matching em switch, permitindo representar tipos de dados algébricos, um elemento central da programação funcional
    • O conceito de tipos de dados algébricos é explicado por meio da teoria dos tipos, um campo da teoria dos conjuntos
  • A nova versão também introduz o recurso de pattern matching, que permite validação estática de padrões de dados específicos
  • O Java 21 também introduz classes ou interfaces sealed para que desenvolvedores possam controlar a interação dos usuários com APIs de bibliotecas
  • Classes ou interfaces sealed dão suporte a padrões de design baseados no conceito de tipos soma, o que significa que, em um dado momento, um tipo pode ser um de seus componentes
  • A nova versão também traz cláusulas de guarda, que permitem expressar condições complexas de forma concisa dentro de instruções e expressões switch
  • O Java 21 introduz uma nova classe de exceção, java.lang.MatchException, que ocorre quando um pattern match falha de forma indevida
  • Este artigo discute o uso de blocos switch no Java 21 e como eles podem gerar MatchException sob certas condições
  • MatchException ocorre quando o bloco switch não corresponde nem ao seletor nem a nenhuma das variantes especificadas, algo considerado bastante incomum
  • A Java Enhancement Proposal (JEP) 441 reconhece que métodos de acesso de record que sempre lançam exceção são extremamente incomuns
  • O artigo fornece um exemplo de bloco switch que gera MatchException por causa de um erro de divisão por zero em uma cláusula de guarda
  • O autor observa que a situação fica mais complexa quando o dividendo em uma operação de divisão é um valor dinâmico que pode ser zero
  • Este artigo faz parte de uma série que explora os novos recursos e capacidades do Java 21, e no futuro analisará algumas características interessantes com exemplos práticos de como elas podem melhorar a escrita de código Java
  • O autor menciona que certos tópicos, como a forma como generics interagem com padrões em switch, não são abordados neste artigo, mas podem ser tratados em textos futuros
  • Este artigo é relevante para pessoas interessadas em pattern matching na JVM, programação funcional, Java 21 e tipos algébricos

Ainda não há comentários.

Ainda não há comentários.