4 points par GN⁺ 2023-09-18 | Aucun commentaire pour le moment. | Partager sur WhatsApp
  • Prévue pour le 19/09/2023, Java 21 prend en charge les record patterns dans les blocs et expressions switch, une mise à jour importante qui rapproche Java des modèles de programmation fonctionnelle comme Kotlin, Rust et C#
  • Java a évolué rapidement au cours des dix dernières années, avec une mise à jour majeure tous les six mois depuis Java 9
  • Java 21 stabilise les record patterns et le pattern matching dans switch, ce qui permet d’exprimer des types de données algébriques, un élément central de la programmation fonctionnelle
    • Le concept de type de données algébrique s’explique via la théorie des types, une branche de la théorie des ensembles
  • La nouvelle version introduit également une fonctionnalité appelée pattern matching, qui permet la vérification statique de motifs de données spécifiques
  • Java 21 introduit des classes ou interfaces scellées, permettant aux développeurs de contrôler les interactions des utilisateurs avec les API de bibliothèque
  • Les classes ou interfaces scellées prennent en charge un modèle de conception fondé sur le concept de type somme, ce qui signifie qu’à un instant donné, un type ne peut être que l’un de ses composants
  • La nouvelle version se distingue aussi par des gardes, qui permettent d’exprimer de façon concise des conditions complexes dans les instructions et expressions switch
  • Java 21 introduit une nouvelle classe d’exception, java.lang.MatchException, qui se produit lorsqu’une correspondance de motif échoue
  • Cet article traite de l’utilisation des blocs switch dans Java 21 et de la manière dont ils peuvent provoquer MatchException dans certaines conditions
  • MatchException se produit lorsqu’un bloc switch ne correspond ni au sélecteur ni à l’une des variantes spécifiées, ce qui est considéré comme très inhabituel
  • La Java Enhancement Proposal (JEP) 441 reconnaît qu’une méthode d’accès à un record qui lève systématiquement une exception est très inhabituelle
  • L’article fournit un exemple de bloc switch provoquant MatchException à cause d’une division par zéro dans une garde
  • L’auteur souligne que la situation devient plus complexe lorsque le dividende dans une opération de division est une valeur dynamique pouvant être égale à 0
  • Cet article fait partie d’une série qui explore les nouveautés et capacités de Java 21, et examinera à l’avenir certaines caractéristiques intéressantes avec des exemples pratiques montrant comment elles peuvent améliorer l’écriture de code Java
  • L’auteur mentionne que certains sujets précis, comme l’interaction des génériques avec les patterns switch, ne sont pas traités dans cet article mais pourront l’être dans de futurs articles
  • Cet article est pertinent pour les personnes intéressées par le pattern matching sur la JVM, la programmation fonctionnelle, Java 21 et les types algébriques

Aucun commentaire pour le moment.

Aucun commentaire pour le moment.