ホームページ  >  記事  >  Java  >  Java 13 の新しい Switch 式を使用した列挙型のよりクリーンな処理

Java 13 の新しい Switch 式を使用した列挙型のよりクリーンな処理

WBOY
WBOYオリジナル
2023-07-29 09:26:14578ブラウズ

列挙型の処理をより簡潔にするには、Java 13 の新しい Switch 式を使用します。

Java プログラミングでは、関連する定数のセットを表すために列挙型を使用することがよくあります。以前は、列挙を処理するときは、通常、従来の Switch ステートメントを使用していました。ただし、Java 13 では新しい Switch 式が導入され、列挙の処理がより簡潔かつ柔軟になりました。

この記事では、Java 13 の新しい Switch 式を使用して列挙型を操作する方法を学び、コード例を使用してその使用法を示します。

まず、以下に示すように、色を表す列挙体を定義する必要があります。

enum Color {
   RED, GREEN, BLUE;
}

次に、さまざまな色に基づいてさまざまな操作を実行する必要があると仮定します。以前のバージョンでは、通常、以下に示すように従来の Switch ステートメントを使用してこの状況を処理していました:

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("未知颜色");
}

ただし、Java 13 では、新しい Switch 式を使用して同じロジックを実現できます。コードはさらに複雑です。コード例からわかるように、新しい Switch 式は矢印演算子

->

を使用して論理分岐を実装します。各ブランチは値を返し、それを colorName 変数に割り当てることができます。 また、新しい Switch 式では、

yield

キーワードを使用して値を返したり、break キーワードを使用して分岐を終了したりできることにも注意してください。たとえば、上記のコードを次のように書き直すことができます。 <pre class='brush:java;toolbar:false;'>Color color = Color.RED; String colorName = switch(color) { case RED -&gt; &quot;红色&quot;; case GREEN -&gt; &quot;绿色&quot;; case BLUE -&gt; &quot;蓝色&quot;; default -&gt; &quot;未知颜色&quot;; }; System.out.println(colorName);</pre> 上記の例に加えて、新しい Switch 式は、結果を変数に代入したり、式やメソッド Call などを使用したりするなど、より多くの使用法もサポートしています。 。

新しい Switch 式を使用するプロセスでは、いくつかの制限にも注意する必要があります。たとえば、各ブランチの結果の型は一貫している必要があり、侵入動作を含めることはできず、各ブランチは考えられるすべての列挙インスタンスをカバーする必要があります。

一般に、Java 13 の新しい Switch 式により、列挙を処理するためのより簡潔かつ柔軟な方法が提供されます。矢印演算子を使用した新しい構文が提供され、コードの読み書きが容易になります。

上記のコード例を通じて、Java 13 の新しい Switch 式を使用して列挙をより簡潔に処理する方法を誰もが理解できることを願っています。同時に、この記事が日々の Java 開発に携わる皆様のお役に立てれば幸いです。

リファレンス:

JEP 354: スイッチ式 (プレビュー)
  • Java 13 言語仕様

以上がJava 13 の新しい Switch 式を使用した列挙型のよりクリーンな処理の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。