enum (列挙型)

ただの整数だけれども、数に名前をつけるとわかりやすいことがあります。enumは以下のように宣言します。

public enum Direction { NORTH, EAST, SOUTH, WEST }

enumはswitch文中でも使えます。

Direction d = Direction.EAST;

switch(d)  {
case NORTH:
   break;
case EAST:
   break;
case SOUTH:
   break;
case WEST:
   break;
}

enumには、ordinal(), name(), values()などのメソッドが定義されます。

// enumの順序
Direction.NORTH.ordinal()   // 0
Direction.EAST.ordinal()    // 1

// enumの要素の名前
Direction.NORTH.name()	  // "NORTH"

// enumの全要素を配列として受け取る
Direction.values()	  // {NORTH, EAST, SOUTH, WEST}