フィールド値に基づいて特定の列挙型を取得したいと考えています。私は上記がそれて列挙型を取り戻すための方法をうまくしようとしているフィールドの値に基づいて列挙型を取得できますか?
aStringRecivedFromJson = "Anti Social Behaviour"
CrimeCategory crimeCategoryEnum;
crimeCategoryEnum = CrimeCategory.valueOf(aStringRecivedFromJson);
:
列挙:新しい列挙型を取得
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;
}
}
他のCrime
情報とともにHashMap
に格納されて渡されることができる。
期待される結果:ASBO
toString()は、オーバーライドしない限り、EnumのString表現を提供します。 – Marvo
@Jethro fyi、あなたは実際にそのサンプルコードで新しい列挙型を初期化するわけではありません。実際には、Javaの列挙型は事実上シングルトンであるため、これを行うことはできません。あなたは本当に既存のenum値を探しています。 – sharakan