Comment convertir une chaîne de valeur Enum en Java?
Dans mon Programme Java ont Enum class comme..
public enum DemoType{
DAILY, WEEKLY, MONTHLY;
}
Et dans ma page jsp, je vais prendre les valeurs de l'utilisateur comme de sélectionner la zone et ce Jsp appelée comme DemoJspBean
..
<form:select path="repeatWeektype">
<form:option value="DAILY" />
<form:option value="WEEKLY" />
<form:option value="MONTHLY" />
</form:select>
Mon HibernateVO classe ..
public class DemoVO{
@Column(name = "REPEAT_TYPE")
@Enumerated(EnumType.STRING)
private RepeatType repeatType;
}
Maintenant je veux insérer cette valeur en DB de l'utilisation d'Hibernate Bean(setter et getter)
DemoVO demo = new DemoVO();
demo.setRepeatType(demoJspBean.getRepeatWeektype());
mais c'est montrer l'erreur..
Alors, comment convertir ma Chaîne de valeur enum type de classe?
- double possible de Java - convertit une Chaîne enum
Vous devez vous connecter pour publier un commentaire.
Utiliser le
valueOf
méthode sur laEnum
classe.Il va jeter un
IllegalArgumentException
devrait l'argument de chaîne à condition invalide. À l'aide de votre exempleLa ligne ci-dessus va jeter un
IllegalArgumentException
parce queHOURLY
ne fait pas partie de votreDemoType
Cela peut vous aider à comprendre comment
enum
types de travail.Dire, C'est mon
enum
classe.Suivant montre comment mes
enum
œuvresSi pour quelque raison vous utilisez une valeur qui n'existe pas dans l'enum (à l'aide de la méthode
DemoType.valueOf()
, vous aurez unejava.lang.IllegalArgumentException
. Hey! Attendez!, vous pouvez effectuer une itération sur les valeurs:La sortie:
À l'aide du Printemps TypeConverterSupport vous pouvez régler la chaîne de propriété enum exemple comme ça:
Vous pouvez l'utilisateur DemoType.méthode valueOf() en passant par la chaîne, qui va le transformer en l'DemoType enum correspondant à la chaîne. Assurez-vous que la valeur de la Chaîne est le même que celui déclaré enum. Par exemple