问题标签 [enum-map]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1054 浏览

java - Java - 当枚举本身可以用作地图时,为什么要使用 EnumMap?

我最近一直在阅读 Java。所以我在下面有一个枚举,它作为一个带有键“JESSIE”和值“我最喜欢的猫”的地图。

那么为什么有人需要使用 EnumMap 呢?谢谢

0 投票
0 回答
187 浏览

java - 如何处理不安全的空类型转换

我有一部分代码,其中“货币”是枚举,“货币”是实体:

但是 Eclipse 会生成一个警告:

处理它的正确方法是什么?我应该用 Optional 包裹我的地图吗?它是强制性的吗?我应该忽略警告,因为我知道不会有 null 案例吗?

0 投票
2 回答
120 浏览

java - 无法在被映射的枚举的初始化程序中构造 EnumMap

在我的代码中,我有一个枚举,其中每个值都存储一个单独的 EnumMap。但是,当我尝试在构造函数或初始化程序中初始化 EnumMap 时,使用以下代码:

它抛出由 NullPointerException 引起的 ExceptionInInitializerError。但是,当我在构造函数之外对其进行初始化时,不会引发错误,如下面的代码所示:

为什么会发生此错误,我该如何解决?

0 投票
1 回答
277 浏览

java - 在Java中将字符串键值映射转换为枚举键值

我从我的静态配置中读取了以下格式的地图: Map<String, Map<String, List<String>>> dependentPluginEntityMapString. 此映射中的字符串值实际上来自 ENUM,映射的正确且必需的表示形式是Map<ENUM_A, Map<ENUM_A, List<ENUM_B>>>.

  1. 如何将字符串映射转换为带有枚举的映射以Map<ENUM_A, Map<ENUM_A, List<ENUM_B>>>提高类型安全性?

我知道,我可以迭代字符串映射(使用 for 或流)并根据需要创建一个带有枚举的新映射,但寻找更好/更高效和优雅的方式来做到这一点?

这是我的蛮力解决方案。我能做得更好吗?

  1. 我应该将字符串映射转换为 ENUMMAP ,而不是使用枚举键映射吗?它适用于我的嵌套地图结构吗?

任何线索表示赞赏。

0 投票
3 回答
1140 浏览

java - 在 Java 中静态初始化 EnumMap 的最佳方法是什么

我需要静态初始化一个 EnumMap。我知道两种方法。

  1. Map的of()方法的使用
  1. 使用双括号初始化

还有其他更清洁、更有效的方法吗?

0 投票
3 回答
176 浏览

kotlin - 从所有枚举值初始化一个 EnumMap

我有一个枚举类:

初始化包含所有 E 值作为键的 EnumMap 的最简洁方法是什么,每个键的初始值都为 0?

我能想到的最简洁的是:

但是,名称的重复E打破了 DRY 原则。而且这个词associateWithTo有点拗口。有没有更简洁易读的方式?我希望有类似的EnumMap.allOf()东西EnumSet.allOf()