◆背景
Javaのコードを読むことがありましたが、
enumの使いかたが分からず、コードを読み切れない事がありました。。
知識不足を実感したので、この機会に基本的な使い方を調べました。
以下はenum使い方を調べた内容の紹介となります。
◆対象
- enumの基本的な使い方を調べてる方
- タイトルに興味を持ってくれた方
◆enumとは?
- 複数の定数を1つの方としてまとめて定義できるもの。
- enumは列挙型と呼ばれ、enumで定義した定数は列挙子と呼ばれる。
◆構文
// enum 型を宣言
public enum HogeHoge {
// 列挙子を宣言
HOGE,
ORANGE,
PEACH;
}
◆使い方例(enumの定義&メソッドの呼び出し方)
以下の例ではEnumにjpFruitsName
という追加のフィールドを持たせ、
その値を返すfetchJpFruitsName
メソッドを定義しています。
Fruits型の変数にはorange、peach、grapeのいずれかの値しか格納できなくなり、
型エラーを検出しやすくなります。
◆ enumの定義
// 列挙型
public enum Fruits {
// 列挙子
orange("みかん"),
peach("もも"),
grape("ぶどう");
// フィールド
private String jpFruitsName;
// コンストラクタ(修飾子はprivateで宣言)
private Fruits (String hoge){
this.jpFruitsName = hoge;
}
// 日本語フルーツ名の返却メソッド
public String fetchJpFruitsName () {
return this.jpFruitsName;
}
}
◆ メソッドの呼び出し方
// 上記Enumのorangeを使ってfetchJpFruitsNameメソッドを呼び出す例
System.out.println(Fruits.orange.fetchJpFruitsName());
◆eclipseで動かしてみる
eclipse画面でパッケージ名部分を右クリック > 新規 > 列挙型をクリック。
作成する列挙型の名前を入力 > 完了をクリック。
作成した列挙型のファイルでは上記で記載したコードを使用してみます。
Fruits.java
package sample;
public enum Fruits {
// 列挙子
orange("みかん"),
peach("もも"),
grape("ぶどう");
// フィールド
private String jpFruitsName;
// コンストラクタ(修飾子はprivateで宣言)
private Fruits (String hoge){
this.jpFruitsName = hoge;
}
// 日本語フルーツ名の返却メソッド
public String fetchJpFruitsName () {
return this.jpFruitsName;
}
}
JavaSample
クラスを作成します。
main
メソッドで列挙型Fruits
内に定義したfetchJpFruitsName
メソッドを呼び出し、
その結果をコンソールに出力しています。
JavaSample.java
package sample;
public class JavaSample {
public static void main(String[] args) {
// 列挙型Fruitsのメソッドを呼び出し、"オレンジ"を出力
String jpFruitsName = Fruits.orange.fetchJpFruitsName();
System.out.println("Orangeの日本語名は:" + jpFruitsName);
}
}
Fruits.javaの列挙子で定義したみかん
を呼び出せました。
コンソール
Orangeの日本語名は:みかん