¿Es posible para mí convertir String
a en un valor equivalente en an Enumeration
, usando Java.
Por supuesto, puedo hacer esto con una if-else
declaración grande , pero me gustaría evitar esto si es posible.
Dada esta documentación:
http://download.oracle.com/javase/1.4.2/docs/api/java/util/Enumeration.html
No tengo demasiadas esperanzas de que esto sea posible sin ifs o una declaración de caso.
Suponiendo que usa enumeraciones de Java 5 (lo cual no es tan seguro ya que menciona la
Enumeration
clase anterior), puede usar elvalueOf
método dejava.lang.Enum
subclase:fuente
Utilice el método estático
valueOf(String)
definido para cada unoenum
.Por ejemplo, si tienes
enum MyEnum
, puedes decirMyEnum.valueOf("foo")
fuente
Podría haber diseñado demasiado mi propia solución sin darme cuenta de que
Type.valueOf("enum string")
realmente existía.Supongo que brinda un control más granular, pero no estoy seguro de que sea realmente necesario.
Creo que se está intercambiando
IllegalArgumentException
porRuntimeException
(o lo que sea la excepción que desea tirar) que podrían potencialmente limpia código de arriba.fuente