Java Enums(列挙型)は、定数のコレクションを定義するために使用される特別なデータ型です。これらは、タイプの安全性と明確な説明的なコーディングプラクティスを確保したい場合に、固定値のセットを表すのに特に役立ちます。 Javaでenumsを使用して固定値のセットを表す方法は次のとおりです。
列挙の宣言:
列挙を作成するには、 enum
キーワードを使用して、列の名前とその値を巻き毛装具内に使用します。これは、曜日を表す列挙の簡単な例です。
<code class="java">public enum Day { SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY }</code>
列挙の使用:
enumを変数、メソッド引数、および返品タイプのタイプとして使用できます。例えば:
<code class="java">Day today = Day.MONDAY;</code>
==
演算子を使用して列挙値を比較することもできます。
<code class="java">if (today == Day.MONDAY) { System.out.println("It's Monday!"); }</code>
列挙コンストラクターとフィールド:
フィールドとコンストラクターをenumsに追加して、各列挙定数で追加データを保存できます。たとえば、数値を毎日関連付けたい場合:
<code class="java">public enum Day { SUNDAY(1), MONDAY(2), TUESDAY(3), WEDNESDAY(4), THURSDAY(5), FRIDAY(6), SATURDAY(7); private final int dayNumber; Day(int dayNumber) { this.dayNumber = dayNumber; } public int getDayNumber() { return dayNumber; } }</code>
Getterメソッドを介してこれらのフィールドにアクセスできます。
<code class="java">Day today = Day.MONDAY; int dayNumber = today.getDayNumber(); // Returns 2</code>
Javaでenumsを使用して固定された値のセットを管理することは、いくつかの重要な利点を提供します。
Day.SUN
のような値を使用しようとすると、コンパイルエラーが発生します。Javaにenumsにカスタムメソッドを追加することは簡単で、機能を大幅に向上させることができます。これがあなたがそれを行う方法です:
メソッドの追加:
列挙宣言内にメソッドを直接追加できます。これらの方法は、すべての列挙定数によって共有されます。たとえば、1日が週末であるかどうかを確認する方法を追加できます。
<code class="java">public enum Day { SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY; public boolean isWeekend() { return this == SUNDAY || this == SATURDAY; } }</code>
この方法を次のように使用できます。
<code class="java">Day today = Day.SUNDAY; if (today.isWeekend()) { System.out.println("It's a weekend!"); }</code>
要約方法:
また、列挙内の抽象的なメソッドを定義することもできます。各列挙定数は、独自の実装を提供する必要があります。これがこれを行う方法です:
<code class="java">public enum Day { SUNDAY { public String getDescription() { return "A day for resting and relaxing."; } }, MONDAY { public String getDescription() { return "The start of the work week."; } }, // Similar implementations for other days... public abstract String getDescription(); }</code>
その後、任意の列挙定数でこのメソッドを呼び出すことができます。
<code class="java">Day today = Day.MONDAY; System.out.println(today.getDescription()); // Prints: "The start of the work week."</code>
はい、Javaの酵素はスイッチステートメントで使用できます。これは、IF-ELSEチェーンを使用するのと比較して、より読みやすく効率的なコードにつながる可能性があります。スイッチステートメントでenumsを使用する方法は次のとおりです。
基本的なスイッチステートメント:
スイッチケースでは、enum値を直接使用できます。たとえば、以前からのDay
列を使用してください。
<code class="java">Day today = Day.MONDAY; switch (today) { case MONDAY: System.out.println("Start of the work week."); break; case FRIDAY: System.out.println("End of the work week."); break; case SATURDAY: case SUNDAY: System.out.println("It's a weekend!"); break; default: System.out.println("Midweek day."); }</code>
スイッチ式(Java 12):
Java 12から始めて、Switch Expressionsを使用できます。これは、スイッチロジックを処理するためのより簡潔な方法を提供します。これがDay
列を使用した例です。
<code class="java">Day today = Day.MONDAY; String message = switch (today) { case MONDAY -> "Start of the work week."; case FRIDAY -> "End of the work week."; case SATURDAY, SUNDAY -> "It's a weekend!"; default -> "Midweek day."; }; System.out.println(message);</code>
スイッチステートメントで酵素を使用すると、既知の値のクローズドセットを使用しているだけでなく、コードをよりメンテナンスしやすく、エラーが発生しないようにすることもできます。
以上がJavaの酵素を使用して固定値のセットを表すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。