0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Java の enum(列挙型)を最短で理解する

0
Posted at

はじめに

Java の enum(列挙型) は、 「決まった選択肢を安全に扱うための型」 です。
文字列や数値で状態や種類を管理すると起きがちなミスを防ぎ、コードの可読性も上がります。

この記事では、研修・初学者向けに必要最小限だけをまとめています。

結論:enum は「固定の選択肢」を表すための型

例えば、たい焼きの味を文字列で管理するとこうなります。

String filling = "anko"; // 書き間違えたら終わり

これを enum にすると、選択肢が型として固定されるので安全です。

enum Filling {
    ANKO,
    CUSTARD,
    CHEESE
}
Filling f = Filling.ANKO; // 安全

enum の基本構造

enum Filling {
    ANKO,
    CUSTARD,
    CHEESE
}
  • enum はクラスの一種
  • 定義した値以外は入らない
  • IDE 補完が効くので間違えにくい
  • 文字列比較より高速で安全

enum のメリット

1. 間違った値が入らない(型安全)

Filling f = Filling.ANKO; // OK
Filling f = "ANKO";       // ❌ コンパイルエラー

→ 「存在しない値」が入らないのが最大のメリット。
この例の場合だと「ANKO」「CUSTARD」「CHEESE」のみ

2. switch と相性が良い

switch (filling) {
    case ANKO -> System.out.println("甘い系");
    case CUSTARD -> System.out.println("クリーム系");
    case CHEESE -> System.out.println("しょっぱい系");
}

※全ケースを網羅していないと警告が出る

3. 文字列より読みやすく、書き間違えない

if (filling == Filling.CHEESE) { ... }

たい焼き器シリーズでの例

たい焼き器のモードを enum で表すとこうなります。

enum Mode {
    NORMAL,
    CRISPY,
    SOFT
}

class TaiyakiMaker {
    private Mode mode;

    void setMode(Mode mode) {
        this.mode = mode;
    }
}

まとめ

  • enum は 固定の選択肢を表す型
  • 文字列より安全で間違いにくい
  • switch と相性が良い
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?