我想根據其字段值來獲取特定的枚舉。我可以根據其字段的值獲取枚舉嗎?
枚舉:
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);
我一直在試圖制定出上述的方式帶回一個枚舉,因此可以通過存儲在HashMap
與其他Crime
信息。
預期結果:ASBO
toString()將爲您提供Enum的字符串表示形式,除非您覆蓋它。 – Marvo 2013-03-12 19:28:10
@Jethro fyi,你不是真的用這個示例代碼「初始化一個新枚舉」。事實上,你不能那樣做,因爲Java中的枚舉實際上是單例。你真的在查找現有的枚舉值。 – sharakan 2013-03-12 19:38:37