0
0

More than 1 year has passed since last update.

カップラーメン作っている間で覚えられるEnumの使い方 JavaGold取得への道  

Posted at

僕のようなJava初心者や、JavaGoldの資格取得に向けて、勉強をしている方にこの記事がお役に立てれば幸いです。

Enumとは?

一言で表すと、定数をまとめて定義するものです。

どの場面で必要か?

最も頻繁に利用するのはEnum型同士を比較して、値がどれに該当するか調べるのに使われる(引用 Javaの定数はEnumで! )

どのように使うの?

定義方法

Enumの定義は以下の構文で行います。

アクセス修飾子 enum 列挙名{列挙子1,列挙子2....}

これだけでは、イメージが湧かないと思うので、サンプルコードをご覧ください。

Sports.java
public enum Sports{
        SOCCER,
        BASEBALL,
        BASKETBALL,
     }
main.java
public class Main{
 public static void main (String[] args){
     Sports favorite = Sports.SOCCER;

 switch(favorite){
    case SOCCER:
       System.out.println("サッカーが好きです。");
       break;
    case BASEBALL:
       System.out.println("野球が好きです。");
       break;
    case BASKETBALL:
       System.out.println("バスケが好きです。");
       break;
     }
  }
}
結果
サッカーが好きです。

Enumに定義するコンストラクタのアクセス修飾子はprivateでなくてはいけません。 省略した場合は、暗黙的にprivateであると解釈されます。

これだけは覚えておきたいEnumが持つメソッド

この2点だけ覚えておけば、JavaGoldのEnumに関する問題は対策できるはずです。

valueOf

valueOfは名称の文字列に対応するEnumを戻します。
先程の例だとvalueOfの引数に"BASKETBALL"を定義するとEnumの"BASKETBALL"が戻ります。

main.java
System.out.println(Sports.valueOf("BASKETBALL"));
結果
BASKETBALL

values

valuesは全てのEnumの配列を返すstaticメソッドです。

main.java
...省略
for(Sports favorite : Sports.values()){
 System.out.prontln(favorite);
}
結果
SOCCER
BASEBALL
BASKETBALL

まとめ

・Enumとは定数をまとめて定義するもの。
・valueOfメソッドは、名称の文字列に対応するEnumを戻す。
・valuesメソッドは、全てのEnumの配列を返す。

参考文献

・徹底攻略Java SE 11 Gold問題集
・Javaの定数はEnumで! Enumの使い方から考え方までお伝えします

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