Java > enum

更新日 2011-11-30
広告
enumは定数を表現するJavaの強力な機能です。 日本語だと「列挙型」と呼ばれることが多いようです。
アプリケーションで「国」を扱う必要があるとしましょう。 (複雑な振る舞いをさせたいなら別ですが、) enumを使うと、国を定数として定義できます。
// 国を定義するenum
public enum Country {
    
    JAPAN,
    CHINA,
    KOREA;
	
}
このように、カンマ区切りで定数を記述します。 最後はセミコロンです。 (この例だと実はセミコロンは不要ですが、コンストラクタやメソッドを記述する場合には必要になります。)
次に、Countryを利用するサンプル EnumTest を記します。
public class EnumTest {
    public static void main(String[] args) {
	    // if文による比較
	    if (Country.JAPAN != Country.CHINA) {
	        System.out.println("Japan is not China");
	        System.out.println();
	    }

	    // for文で全ての値を参照
	    for (Country c : Country.values()) {
	        System.out.println(c);
	    }
	    System.out.println();

	    // 文字列から変換
	    Country country = Country.valueOf("JAPAN");
	    if (country == Country.JAPAN) {
	        System.out.println("This is japan");
	        System.out.println();
	    }
	
	    // switch文で分岐
	    switch (country) {
	    case JAPAN:
	        System.out.println("Japan!");
	        break;
	    case CHINA:
	        System.out.println("China!");
	        break;
	    case KOREA:
	        System.out.println("Korea!");
	        break;
	    default:
	        System.out.println("default");
	    }
    }
}
EnumTestでは、
  1. Countryをif文で比較
  2. Countryをfor文でループ
  3. 文字列からCountryへ変換
  4. switch文の分岐条件として指定
を、順番に行っています。
EnumTestの実行結果は以下のようになります。
enum$ java EnumTest 
Japan is not China

JAPAN
CHINA
KOREA

This is japan

Japan!
広告
お問い合わせは sweng.tips@gmail.com まで。
inserted by FC2 system