Java
 Computer >> コンピューター >  >> プログラミング >> Java

Java Enum をマスターする:実践ガイド

Java 列挙型は、定数のリストを格納するデータ型です。 enum キーワードを使用して enum オブジェクトを作成できます。列挙型定数は、 一対の中括弧内のカンマ区切りのリストとして表示されます。

enum は enumeration の略で、取り得る値の固定セットを持つデータ型です。

列挙型は、値のリストに含まれる特定の値のみを保持する必要がある値を操作する場合に便利です。たとえば、店舗で販売されているコーヒーのサイズのリストを保存したい場合は、列挙型が使用されます。 

このチュートリアルでは、Java の列挙型の基本について説明します。開始に役立つように、Java プログラムの enum クラスの例をいくつか参照します。

Java Enum 構文

Java enum は定数のリストを表します。列挙型から割り当てられた変数は、列挙型に現れる値のみを持つことができます。列挙型は、開発者が変更されないことがわかっているデータを保存するのに役立ちます。

従業員の給与等級を格納する Java 変数は 5 つの値のうち 1 つだけを持つことができると決めたとします。または、従業員契約を格納する変数にはパートタイムのみを格納できると決定します。 、フルタイム 、 またはゼロ時間。 このような場合、列挙型を使用してデータを保存するとよいでしょう。

列挙型は「enum」を使用して宣言されます。 」タイプ。 「列挙型」の構文は次のとおりです。 ” キーワード:

enum name {
 VALUE1, VALUE2, VALUE3
}

この構文を詳しく見てみましょう:

  • 列挙型 プログラムに列挙型を宣言したいことを伝えます。
  • 名前 は列挙型の名前です。
  • 値 1、値 2、値 3 は、enum が保存する定数値のセットです。これらの値は通常、大文字で書かれます。

Java で列挙型を使用する理由

列挙型を使用すると、自分自身とコンピュータの両方にとってより読みやすい方法でアルゴリズムを表現できます。

enum を記述すると、変数が特定の数の値のみを持つことができることがコンピューターに通知されます。また、これが事実であることがプログラマーに通知されるため、コードが理解しやすくなります。 enum を使用する変数があれば、その変数には限られた数の値のうちの 1 つしか持てないことがわかります。

さらに、列挙型を使用すると、定数をより効果的に使用できるようになります。実際、enum は int を置き換えるために導入されました。 Java の定数は複数行にまたがっており、読むのが困難でした。これは古い int の例です。 Java の定数:

これらの定数を宣言するコードは 5 行を要します。しかし、列挙型を使用すると、コードを 3 行に減らすことができます。以下の例では、列挙型定数のリストを宣言します。

class IntConstant {
 public final static int ECONOMY = 1;
 public final static int BUSINESS = 2;
 public final static int FIRST_CLASS = 3;
}

これらの定数を宣言するコードは 5 行を要します。しかし、列挙型を使用すると、コードを 3 行に減らすことができます。以下の例では、列挙型定数のリストを宣言します。

class AirplaneClasses {
 ECONOMY, BUSINESS, FIRST_CLASS
}

このコードはよりシンプルで読みやすくなっています。

Java Enum の宣言

私たちは、接客スタッフがコーヒー ショップのバリスタにコーヒーの注文を送信するために使用できるアプリを構築しています。

バリスタがドリンクのサイズの値を入力するとき、考えられる選択肢は 3 つだけである必要があります。これらのオプションは、SMALL、REGULAR、LARGE です。列挙型を使用して、ドリンクの可能なサイズをこれらのオプションに制限できます。

enum Sizes {
 SMALL, REGULAR, LARGE
}

この例では、Sizes という列挙型を宣言しました。 これには 3 つの値が考えられます。 enum を宣言したので、コード内でその値を参照できるようになります。

Java Enum の例

私たちは、顧客が注文したコーヒーのサイズをコンソールに出力するプログラムを作成しています。この値は、顧客のドリンクを準備するバリスタによって読み取られます。

次のコードを使用すると、顧客が注文したコーヒーのサイズをコンソールに出力できます。

enum Sizes {
 SMALL, REGULAR, LARGE
}
class PrintSize {
 Sizes coffeeSize;
 
 public PrintSize(Sizes coffeeSize) {
 this.coffeeSize = coffeeSize;
 }
 public void placeOrder() {
 switch(coffeeSize) {
 case SMALL:
 System.out.println("This coffee should be small.");
 break;
 case REGULAR:
 System.out.println("This coffee should be REGULAR.");
 break;
 case LARGE:
 System.out.println("This coffee should be large.");
 break;
 }
 }
}
class Main {
 public static void main(String[] args) {
 PrintSize order173 = new PrintSize(Sizes.SMALL);
 order173.placeOrder();
 }
}

コードは以下を返します:

This coffee should be small.

まず、Sizes という列挙型を宣言します。この列挙型には、SMALL、REGULAR、LARGE の 3 つの値を指定できます。次に、PrintSize というクラスを宣言しました。このクラスは顧客の飲み物のサイズを受け入れ、その飲み物のサイズをコンソールに出力します。

メイン プログラムでは、order173 というオブジェクトを宣言します。 これは、PrintSize クラスを使用します。コードを通じて Java パラメータ Sizes.SMALL を渡しました。これにより、プログラムに値 SMALL を変数 coffeeSize に割り当てるように指示されます。 PrintSize クラス内。

次に、order173.placeOrder() を使用します。 switch case 内のコードを実行するには PrintSize クラスのステートメント。これは、「coffeeSize」変数の値を 3 つのケースに対して評価します。顧客が注文したコーヒーのサイズに応じて、メッセージがコンソールに出力されます。

私たちは、顧客が小さなコーヒーを注文したことを指定しました。私たちのコードは、「このコーヒーは小さいはずです。」 と出力します。

Java switch case ステートメントについて詳しく知りたい場合は、Java switch ステートメントに関するチュートリアルを参照してください。

Java Enum メソッド

Java enum クラスには、enum クラスを使用する値の取得と操作に使用される事前定義されたメソッドが多数含まれています。以下では、最も一般的に使用される 5 つの enum メソッドを詳しく説明します。

Java Enum をマスターする:実践ガイド

「キャリアカルマは、私が最も必要としたときに私の人生に入り込み、すぐにブートキャンプに参加するのに役立ちました。卒業から 2 か月後、自分の価値観と人生の目標に合致する夢の仕事を見つけました!」

Rockbot のソフトウェア エンジニア、Venus 氏

ブートキャンプにマッチするものを見つけてください

compareTo()

CompareTo() は、列挙型の定数を辞書順に比較し、それらの序数値の差を返します。上記の例の enum 値とともに使用される CompareTo() の例を次に示します。

int difference = Sizes.SMALL.compareTo(Sizes.LARGE);
System.out.println(difference);

私たちのコードは、SMALL の差を返します。 と LARGE 順序値に基づく文字列。この場合、コードは次を返します。

-2

toString()

toString() は、列挙型の名前を文字列に変換します。 LARGE を変換するために使用される toString() の例を次に示します。 enum 値を文字列に変換します。

String large_string = LARGE.toString();
System.out.println(large_string);

コードは以下を返します:

“LARGE”

名前()

name() メソッドは、enum クラスの定数を定義するために使用される名前を返します。以下は、REGULAR コーヒー サイズの定義された名前を返すために使用される name() メソッドの例です。

String regular_name = name(REGULAR);
System.out.println(regular_name);

コードは以下を返します:

“REGULAR”

値()

value() メソッドは、すべての定数を列挙型に格納する Java 配列を返します。以下は、values() メソッドの動作例です。

Sizes[] sizeList = Sizes.values();

valueOf()

valueOf() は文字列を受け入れ、同じ名前の enum 定数を返します。したがって、REGULAR, という名前の enum 定数を取得したい場合は、 次のコードを使用してそれを行うことができます。

String regular_constant = Sizes.valueOf("REGULAR");
System.out.println(regular_constant);

コードは以下を返します:

REGULAR

結論

enum (列挙の略) は、固定の値セットを持つ Java データ型です。

列挙型は、選択した値の範囲から 1 つだけを格納できる変数を操作する場合に便利です。

このチュートリアルで読んだ内容を実践すると、Java で列挙型を使用する専門家になるでしょう。 Java でのコーディングの詳細については、Java でのコーディング方法に関する完全なガイドをお読みください。


  1. 初心者に最適な Java IDE:適切なツールを選択する

    Java は、実装の依存関係がほとんどない、汎用の高レベルのオブジェクト指向プログラミング言語です。 1990 年代に James Gosling によって作成され、主にインターネット ベースのアプリケーションを作成するために使用されます。バックエンド開発プロジェクトのサーバー側言語としても使用できます。 Java は、移植性が高く、使いやすく、信頼性が高く、安全であることで広く知られています。 Google や Android OS、Netflix、Spotify、LinkedIn、Uber、Minecraft などの人気のあるソフトウェア プログラムの作成に使用されています。プログラマー

  2. JavaFXでパス要素の水平線を作成するにはどうすればよいですか?

    これは、パス要素の水平線を表すクラスです。 。現在の座標から指定された(新しい)座標に水平線を引くのに役立ちます。 ラインパス要素を作成するには- HLineToをインスタンス化します クラス。 セッターメソッドを使用するか、コンストラクターにバイパスして、このクラスのプロパティに値を設定します。 Pathクラスをインスタンス化します。 getElements()を使用して、上記で作成したパスの監視可能なリストオブジェクトを取得します メソッド。 add()を使用して、上記で作成したHLineToオブジェクトを監視可能リストに追加します メソッド。 最