我有两个阵列:墙壁和邻居。
public boolean[] walls = new boolean[4];
public Cell[] neighbors = new Cell[4];
我有一个枚举:
enum Dir
{
North,
South,
East,
West
}
现在,我想通过他们的方向访问墙壁或邻居,所以我不必传递一堆魔法索引。
但是,当我阅读Enum.ordinal()的文档时,它表示,程序员几乎没有使用这种方法,这使我觉得不应该这样使用。
我在想这样做:
List
for(Dir direction : Dir.values())
if (!Neighbors[direction.ordinal()].Visited)
availableDirections.add(direction);
甚至:
return Neighbors[Dir.North.ordinal()];
我应该恢复为NORTH,SOUTH,EAST,WEST使用静态常量,其索引值设置为它们还是使用枚举的顺序方法?