У меня есть два массива: Стены и Соседи.
public boolean[] walls = new boolean[4];
public Cell[] neighbors = new Cell[4];
и у меня есть Enum:
enum Dir
{
North,
South,
East,
West
}
Теперь я хотел бы иметь доступ к стенам или соседям по их направлению, поэтому мне не нужно пропускать кучу волшебных индексов.
Однако, когда я читал документацию для Enum.ordinal(), он сказал, что программисты практически не будут использовать этот метод, что заставило меня подумать, что его нельзя использовать таким образом.
Я думал о чем-то вроде:
List<Dir> availableDirections = new ArrayList<Dir>();
for(Dir direction : Dir.values())
if (!Neighbors[direction.ordinal()].Visited)
availableDirections.add(direction);
или даже:
return Neighbors[Dir.North.ordinal()];
Должен ли я вернуться к использованию статических констант для NORTH, SOUTH, EAST, WEST с установленным им значением индекса или использовать порядковый метод Enum?