Fat*_*tso 7 java enumeration ordinal
Java声明初始值的序数为0.我可以假设当我创建这样的枚举时:
public enum Direction {MONDAY, TUESDAY, WEDNESDAY, THURSDAY, ...}
Run Code Online (Sandbox Code Playgroud)
序数TUESDAY
总是1,WEDNESDAY
总是2,......?
我会更具体一点.我正在宣布一个枚举:
public enum Direction {UP,RIGHT,DOWN,LEFT}
Run Code Online (Sandbox Code Playgroud)
现在有一种方法可以转90度(顺时针).它与序数是一条线:
direction = Direction.values()[direction.ordinal()+1 % Direction.values().length];
Run Code Online (Sandbox Code Playgroud)
如果我不使用序数,我将不得不使用switch语句或条件:
switch (direction) {
case LEFT:newdirection = Direction.UP;
break;
etc...
}
Run Code Online (Sandbox Code Playgroud)
使用序数有几个优点:
DOWN_LEFT
),如果将新方向放在正确的位置,则实现不一定必须更改你怎么看?
归档时间: |
|
查看次数: |
2480 次 |
最近记录: |