对不起,可能是一个简单的问题。
我需要标记数组
boolean[20] isTownVisited
但是在其中使用int是不方便的,我想使用字符串:
isTownVisited[Town.Milan] = true;
要么
return isTownVisited[Town.Rome]
我试图声明枚举
enum Town {Milan, Rome, Florence, Napoli}
但是我仍然不能用它来索引我的布尔数组。如何解决此问题,我可以这样写:
enum Town {Milan = 0, Rome = 1, Florence = 2, Napoli = 3}
最佳答案
您可以使用EnumSet。
Set<Town> towns = EnumSet.of(Town.Milan);
towns.add(Town.Rome);
return towns.contains(Town.Napoli);
在引擎盖下,EnumMap和EnumSet使用
int ordinal();
EnumSet使用位图。