java - 声明要在数组中使用的枚举?

标签 java arrays enums

抱歉,这个问题可能很简单。

我需要一组标志

boolean[20] isTownVisited

但是里面用int不方便,我想用strings:

 isTownVisited[Town.Milan] = true;

 return isTownVisited[Town.Rome]

我试图声明枚举

enum Town {Milan, Rome, Florence, Napoli}

但我仍然不能用它来索引我的 boolean 数组。如何解决这个问题,我可以这样写吗:

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 使用位图。

关于java - 声明要在数组中使用的枚举?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6726888/

相关文章:

java - 在操作内同时运行线程为进度条执行,仅显示方法的流程执行

java - 如何将多个小整数保存在一个整数中以进行位移位?

c++ - C++ 枚举是有符号的还是无符号的?

java - 可以定义 Java 接口(interface),使得只有 Enums 可以扩展它吗?

java - 如何在其调用者线程上调用接口(interface)回调?

java - 多个 dex 文件 - 转换为 Dalvik 格式失败 - 无法执行 dex

Java将xml文件内容存储到字符串中

javascript - 为什么 console.log() 创建/**id :4**/and/**ref:4**/values?

php - 为什么在对大数组使用 array_map 时内存溢出?

java - Java 枚举构造函数中是否允许使用可变参数?