【发布时间】:2013-03-12 19:23:34
【问题描述】:
我想根据其字段值获取特定的枚举。
枚举:
public enum CrimeCategory {
ASBO ("Anti Social Behaviour"),
BURG ("Burglary"),
CRIMDAM ("Criminal Damage And Arson"),
DRUGS ("Drugs"),
OTHTHEFT ("Other Theft"),
PUPDISOR ("Public Disorder And Weapons"),
ROBBERY ("Robbery"),
SHOPLIF ("Shoplifting"),
VEHICLE ("Vehicle Crime"),
VIOLENT ("Violent Crime"),
OTHER ("Other Crime");
private String category;
private CrimeCategory (String category) {
this.category = category;
}
public String returnString() {
return category;
}
}
获取新枚举:
aStringRecivedFromJson = "Anti Social Behaviour"
CrimeCategory crimeCategoryEnum;
crimeCategoryEnum = CrimeCategory.valueOf(aStringRecivedFromJson);
我一直在尝试找到一种方法,将上述方法带回一个枚举,以便可以将其与其他 Crime 信息一起存储在 HashMap 中。
预期结果:ASBO
【问题讨论】:
-
toString() 会给你一个枚举的字符串表示,除非你覆盖它。
-
@Jethro 仅供参考,您并没有真正使用该示例代码“初始化新枚举”。事实上,你不能这样做,因为 Java 中的枚举实际上是单例。您实际上是在查找现有的枚举值。