我的枚举是这样目前:设置枚举值,并解析字符串得到一个枚举
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”)。这是正确的方法吗?我想我应该有一个尝试/抓住在那里吗?
我似乎无法明确设置序数值,我试过:GM(“5”),丰田(“6”) – Blankman
不,你不能设置它们 - 序号将与值在枚举中声明。 – ziesemer
如果由于某种原因,您需要与枚举的每个元素(除了自动分配的序数)相关联的不同'int'数字,您可以随时将其作为属性添加到枚举中,以及getters –