java – 设置枚举值,并解析字符串以获取枚举

前端之家收集整理的这篇文章主要介绍了java – 设置枚举值,并解析字符串以获取枚举前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我的枚举目前是这样的:

public enum Manufacturers {
  Honda,GM,Toyota,Ferrari
}

我需要创建一个Hashmap,所以我打算这样做,这是正确的吗?

Manufacturers mfg = Manufacturers.Honda;

mfg.ordinal()  // save as key

即我将使用enumInstance.ordinal()存储密钥

此外,我需要能够解析一个字符串,该字符串将是枚举的序数值,并获得枚举:

Manufacturers mfg = Manufacturers.valueOf(mfgOrdinalValueAsString);

上面给了我一个错误(字符串是“1”).这是正确的方法吗?我想我应该有一个尝试/捕获吗?

最佳答案
.valueOf实际上是期望字符串“GM”(对于1).

至于将枚举值存储在地图中,请使用专为此设计的EnumMap,并且也会快速使用它.

如果你真的想通过序数引用一个值,可以使用像Manufacturers.values()[1]这样的东西.

猜你在找的Java相关文章