工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial programming >> Java

Java 列挙型

Java 列挙型

このチュートリアルでは、Java の列挙型について学習します。例の助けを借りて、列挙型と列挙型クラスを作成して使用する方法を学びます.

Java では、列挙型 (enumeration の略) は定数値の固定セットを持つ型です。 enum を使用します 列挙型を宣言するキーワード。たとえば、

enum Size { 
   SMALL, MEDIUM, LARGE, EXTRALARGE 
}

ここでは、Size という名前の列挙型を作成しました。 .固定値 SMALL が含まれます 、 、および特大 .

中括弧内のこれらの値は、列挙型定数 (値) と呼ばれます。

注: 列挙型定数は通常、大文字で表されます。


例 1:Java 列挙型

enum Size {
   SMALL, MEDIUM, LARGE, EXTRALARGE
}

class Main {
   public static void main(String[] args) {
      System.out.println(Size.SMALL);
      System.out.println(Size.MEDIUM);
   }
}

出力

SMALL
MEDIUM

上記の例からわかるように、列挙名を使用して定数値にアクセスします。

また、列挙型の変数を作成することもできます。たとえば、

Size pizzaSize;

こちら、pizzaSize Size の変数です タイプ。 4 つの値のみを割り当てることができます。

pizzaSize = Size.SMALL;
pizzaSize = Size.MEDIUM;
pizzaSize = Size.LARGE;
pizzaSize = Size.EXTRALARGE;

例 2:switch ステートメントを使用した Java Enum

enum Size {
 SMALL, MEDIUM, LARGE, EXTRALARGE
}

class Test {
 Size pizzaSize;
 public Test(Size pizzaSize) {
   this.pizzaSize = pizzaSize;
 }
 public void orderPizza() {
   switch(pizzaSize) {
     case SMALL:
       System.out.println("I ordered a small size pizza.");
       break;
     case MEDIUM:
       System.out.println("I ordered a medium size pizza.");
       break;
     default:
       System.out.println("I don't know which one to order.");
       break;
   }
 }
}

class Main {
 public static void main(String[] args) {
   Test t1 = new Test(Size.MEDIUM);
   t1.orderPizza();
 }
}

出力

I ordered a medium size pizza.

上記のプログラムでは、列挙型 Size を作成しました。 .次に、変数 pizzaSize を宣言しました サイズの タイプしてください。

ここで、変数 pizzaSize 4 つの値のみを割り当てることができます (SMALL特大 ).

声明に注目してください、

Test t1 = new Test(Size.MEDIUM);

Test() を呼び出します Test 内のコンストラクター クラス。さて、変数 pizzaSize MEDIUM が割り当てられています

値に基づいて、switch case ステートメントのいずれかのケースが実行されます。


Java の列挙型クラス

Java では、列挙型は特別な型のクラスと見なされます。 Java 5 のリリースで導入されました。

enum クラスには、通常のクラスと同様にメソッドとフィールドを含めることができます。

enum Size {
    constant1, constant2, …, constantN;

    // methods and fields	
}

enum クラスを作成すると、コンパイラは各 enum 定数のインスタンス (オブジェクト) を作成します。また、すべての列挙型定数は常に public static final です


例 3:Java Enum クラス

enum Size{
  SMALL, MEDIUM, LARGE, EXTRALARGE;

  public String getSize() {

    // this will refer to the object SMALL
    switch(this) {
      case SMALL:
        return "small";

      case MEDIUM:
        return "medium";

      case LARGE:
        return "large";

      case EXTRALARGE:
        return "extra large";

      default:
        return null;
      }
   }

  public static void main(String[] args) {

    // call getSize()
    // using the object SMALL
    System.out.println("The size of the pizza is " + Size.SMALL.getSize());
  }
}

出力

The size of the pizza is small

上記の例では、enum クラス Size を作成しました。 . 4 つの定数 SMALL があります 、 そして特大 .

サイズ以来 が列挙型クラスの場合、コンパイラは各列挙型定数のインスタンスを自動的に作成します。

ここの main() の中 メソッドでは、インスタンス SMALL を使用しました getSize() を呼び出す メソッド。

注意 :通常のクラスと同様に、enum クラスにもコンストラクターを含めることができます。詳細については、Java enum コンストラクターにアクセスしてください。


Java Enum クラスのメソッド

enum クラスには、すぐに使用できる定義済みのメソッドがいくつかあります。

1. Java列挙序数()

ordinal() メソッドは列挙型定数の位置を返します。たとえば、

ordinal(SMALL) 
// returns 0

2.列挙型compareTo()

compareTo() メソッドは、序数値に基づいて列挙定数を比較します。たとえば、

Size.SMALL.compareTo(Size.MEDIUM)
 // returns ordinal(SMALL) - ordinal(MEDIUM)

3.列挙 toString()

toString() メソッドは、列挙定数の文字列表現を返します。たとえば、

SMALL.toString()
// returns "SMALL"

4.列挙名()

name() メソッドは、列挙定数の定義された名前を文字列形式で返します。 name() からの戻り値 メソッドは final です .たとえば、

name(SMALL)
// returns "SMALL"

5. Java Enum valueOf()

valueOf() メソッドは文字列を受け取り、同じ文字列名を持つ列挙定数を返します。たとえば、

Size.valueOf("SMALL")
// returns constant SMALL.

6.列挙値()

values() メソッドは、すべての列挙型定数を含む列挙型の配列を返します。たとえば、

Size[] enumArray = Size.value();

Java Enum を使用する理由

Java では、int 定数の使用を置き換えるために enum が導入されました .

int のコレクションを使用したとします。

class Size {
   public final static int SMALL = 1;
   public final static int MEDIUM = 2;
   public final static int LARGE = 3;
   public final static int EXTRALARGE = 4;
}

ここで、定数を出力すると問題が発生します。これは、数字だけが印刷されているため、役に立たない可能性があります.

したがって、int 定数を使用する代わりに、単純に列挙型を使用できます。たとえば、

enum Size {
   SMALL, MEDIUM, LARGE, EXTRALARGE
}

これにより、コードがより直感的になります。

また、enum はコンパイル時のタイプ セーフを提供します .

Size の変数を宣言すると タイプ。たとえば、

Size size;

ここでは、変数が 4 つの値のいずれかを保持することが保証されています。ここで、これら 4 つの値以外の値を渡そうとすると、コンパイラはエラーを生成します。


Java

  1. C列挙
  2. Java オペレーター
  3. Java コメント
  4. Java for-each ループ
  5. Java 文字列
  6. Java インターフェイス
  7. Java匿名クラス
  8. Java 列挙型
  9. Java 列挙型コンストラクター
  10. Java列挙型文字列
  11. Java try-with-resources