Java は、初期値の序数が 0 であると述べています。次のような列挙を作成すると、次のようになります。
public enum Direction {MONDAY, TUESDAY, WEDNESDAY, THURSDAY, ...}
TUESDAY
の序数は常に 1 で、常に 2の序数WEDNESDAY
、...?
もう少し具体的に説明します。私は列挙型を宣言しています:
public enum Direction {UP,RIGHT,DOWN,LEFT}
これで、90 度 (時計回り) に回転させる方法ができました。序数を含む1行です:
direction = Direction.values()[direction.ordinal()+1 % Direction.values().length];
序数を使用しない場合は、switch ステートメントまたは条件を使用する必要があります。
switch (direction) {
case LEFT:newdirection = Direction.UP;
break;
etc...
}
序数を使用することには、いくつかの利点があります。
- 短いコード
- より高速なコード (無視できる)
- 方向が追加された場合(たとえば
DOWN_LEFT
)、新しい方向を正しい場所に配置すれば、実装を必ずしも変更する必要はありません
どう思いますか?