Java で列挙型をスイッチする
この記事では、Java で列挙型で switch
を使用する方法を説明します。enum で switch
文を使用する 2つの方法を見ていきます。
Java で伝統的な Switch と Case を使って enum を切り替える
この例では、SwitchEnum
クラスの中に列挙型を作成して Days
と名付けます。これには曜日を表す 7つの定数が格納されています。switch メソッドと case メソッドを使って、日ごとに異なるメッセージを表示します。
Days.MONDAY
は定数 MONDAY
を取得し、それを enum オブジェクト day
に格納します。これを使ってケースを切り替えることができます。switch()
は切り替えたい値、つまり day
を取得します。最後に、各ケースとそれが出力すべき出力を指定します。
スイッチの実行が終了すると実行が中断されるように、ケースごとにブレークしなければならません。
public class SwitchEnum {
enum Days { SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY }
public static void main(String[] args) {
Days day = Days.MONDAY;
switch (day) {
case SUNDAY:
System.out.println("Sundays are wonderful");
break;
case MONDAY:
System.out.println("Mondays are boring");
break;
case TUESDAY:
System.out.println("Tuesdays are OK");
break;
case WEDNESDAY:
System.out.println("Wednesdays are tiring");
break;
case THURSDAY:
System.out.println("Thursdays are even more boring");
break;
case FRIDAY:
System.out.println("Fridays means work work and work");
break;
case SATURDAY:
System.out.println("Saturdays makes everybody happy");
break;
}
}
}
出力:
Mondays are boring
Java12 の拡張 switch と case を使用して列挙型をオンにする
Java 12 では、従来の switch 文と case 文の欠点を克服するために、強化された switch 文と case 文が導入されました。従来の switch 文の最大の欠点は、すべてのケースで break キーワードを指定しなければならないことです。
拡張スイッチとケースを使用することで、より短いコードで enum を使用することができるようになりました。新しいスイッチとケースでは、コロンの代わりに矢印を使用しています。1つの文だけを表示したいので、中括弧を使用する必要はありません。
public class SwitchEnum {
enum Days { SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY }
public static void main(String[] args) {
Days day = Days.SATURDAY;
switch (day) {
case SUNDAY -> System.out.println("Sundays are wonderful");
case MONDAY -> System.out.println("Mondays are boring");
case TUESDAY -> System.out.println("Tuesdays are OK");
case WEDNESDAY -> System.out.println("Wednesdays are tiring");
case THURSDAY -> System.out.println("Thursdays are even more boring");
case FRIDAY -> System.out.println("Fridays means work work and work");
case SATURDAY -> System.out.println("Saturdays makes everybody happy");
}
}
}
出力:
Saturdays makes everybody happy
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn