La correspondance de modèles est une fonctionnalité très attendue de Java, apportant plus de puissance et de flexibilité au langage. Java 21 introduit la correspondance de modèles pour les instructions switch, ce qui simplifie le code et réduit le passe-partout. Explorons comment cette nouvelle fonctionnalité fonctionne et pourquoi elle est bénéfique.
La correspondance de modèles pour switch vous permet de faire correspondre une valeur à des modèles, rendant le code plus expressif et lisible. Au lieu d'utiliser plusieurs instructions if-else ou des cas de commutation complexes, vous pouvez désormais écrire un code plus concis et plus maintenable.
Voici un exemple simple pour illustrer le fonctionnement de la correspondance de modèles pour switch :
static String formatterPatternSwitch(Object obj) { return switch (obj) { case Integer i -> String.format("int %d", i); case Long l -> String.format("long %d", l); case Double d -> String.format("double %f", d); case String s -> String.format("String %s", s); default -> obj.toString(); }; }
Dans cet exemple, formatterPatternSwitch prend un objet et renvoie une chaîne formatée en fonction de son type. Voici un aperçu de ce qui se passe :
Donnons-moi un exemple de cas détaillé : Gestion de différentes formes
Envisagez un scénario dans lequel vous devez gérer différentes formes et calculer leurs aires. Voici comment la correspondance de modèles pour switch peut simplifier le code :
abstract sealed class Shape permits Circle, Square, Rectangle {} final class Circle extends Shape { double radius; Circle(double radius) { this.radius = radius; } } final class Square extends Shape { double side; Square(double side) { this.side = side; } } final class Rectangle extends Shape { double length, width; Rectangle(double length, double width) { this.length = length; this.width = width; } } static double calculateArea(Shape shape) { return switch (shape) { case Circle c -> Math.PI * c.radius * c.radius; case Square s -> s.side * s.side; case Rectangle r -> r.length * r.width; }; }
Dans cet exemple :
La correspondance de modèles pour switch dans Java 21 est une fonctionnalité puissante qui améliore la lisibilité du code, la concision et la sécurité des types. En vous permettant de faire correspondre les valeurs avec des modèles directement dans les instructions switch, cela simplifie de nombreuses tâches de codage courantes. Les développeurs Java devraient absolument explorer et adopter cette fonctionnalité pour écrire un code plus propre et plus maintenable.
N'hésitez pas à modifier ou développer cette section en fonction de vos besoins !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!