Maison  >  Article  >  Java  >  Gestion plus propre des énumérations à l'aide des nouvelles expressions Switch dans Java 13

Gestion plus propre des énumérations à l'aide des nouvelles expressions Switch dans Java 13

WBOY
WBOYoriginal
2023-07-29 09:26:14550parcourir

Utilisez la nouvelle expression Switch dans Java 13 pour un traitement plus concis des énumérations

En programmation Java, nous utilisons souvent des énumérations pour représenter un ensemble de constantes associées. Dans le passé, lorsque nous traitions des énumérations, nous utilisions généralement l'instruction Switch traditionnelle. Cependant, Java 13 nous apporte de nouvelles expressions Switch, rendant le traitement des énumérations plus concis et flexible.

Dans cet article, nous apprendrons comment travailler avec des énumérations à l'aide des nouvelles expressions Switch dans Java 13 et démontrerons son utilisation avec des exemples de code.

Tout d'abord, nous devons définir une énumération qui représente la couleur, comme indiqué ci-dessous :

enum Color {
   RED, GREEN, BLUE;
}

Ensuite, supposons que nous devions effectuer différentes opérations basées sur différentes couleurs. Dans les versions précédentes, nous utilisions généralement l'instruction Switch traditionnelle pour gérer cette situation, comme indiqué ci-dessous :

Color color = Color.RED;
switch(color) {
   case RED:
      System.out.println("红色"); 
      break;
   case GREEN:
      System.out.println("绿色");
      break;
   case BLUE:
      System.out.println("蓝色");
      break;
   default:
      System.out.println("未知颜色");
}

Cependant, dans Java 13, nous pouvons utiliser la nouvelle expression Switch pour implémenter la même logique, et le code est plus concis, comme indiqué ci-dessous :

Color color = Color.RED;
String colorName = switch(color) {
   case RED -> "红色";
   case GREEN -> "绿色";
   case BLUE -> "蓝色";
   default -> "未知颜色";
};
System.out.println(colorName);

Comme vous pouvez le voir dans l'exemple de code, la nouvelle expression Switch utilise l'opérateur fléché -> pour implémenter des branches logiques. Chaque branche peut renvoyer une valeur et l'attribuer à la variable colorName. ->来实现逻辑分支。每个分支都可以返回一个值,并将其赋给colorName变量。

另外需要注意的是,新的Switch表达式可以使用yield关键字返回一个值,也可以使用break

De plus, il convient de noter que la nouvelle expression Switch peut utiliser le mot-clé yield pour renvoyer une valeur, et le mot-clé break peut être utilisé pour terminer la branche. Par exemple, nous pouvons réécrire le code ci-dessus comme suit :

Color color = Color.RED;
String colorName = switch(color) {
   case RED -> {
      yield "红色";
   }
   case GREEN -> {
      yield "绿色";
   }
   case BLUE -> {
      yield "蓝色";
   }
   default -> {
      yield "未知颜色";
   }
};
System.out.println(colorName);

En plus de l'exemple ci-dessus, la nouvelle expression Switch prend également en charge davantage d'utilisations, telles que l'attribution du résultat à une variable, l'utilisation d'expressions et d'appels de méthode, etc.

Dans le processus d'utilisation de la nouvelle expression Switch, nous devons également faire attention à certaines limitations. Par exemple, le type de résultat de chaque branche doit être cohérent, ne peut pas contenir de comportement de pénétration, chaque branche doit couvrir toutes les instances d'énumération possibles, etc.

En général, la nouvelle expression Switch dans Java 13 nous apporte une manière plus concise et flexible de gérer les énumérations. Il fournit une nouvelle syntaxe utilisant des opérateurs fléchés, rendant le code plus facile à lire et à écrire.

J'espère que grâce aux exemples de code ci-dessus, vous pourrez maîtriser comment utiliser la nouvelle expression Switch dans Java 13 pour traiter les énumérations de manière plus concise. En même temps, j'espère également que cet article pourra être utile à tout le monde dans le développement Java quotidien.

Référence :
  • JEP 354 : Switch Expressions (Aperçu)
  • Spécification du langage Java 13
🎜

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn