はじめに
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 と相性が良い