enumCores{AMARELO,AZUL,VERDE,PERTO,BRANCO,VERMELHO,MARROM};enumFormas{CIRCULO,QUADRADO,LOSANGO,PENTAGONO,RETANGULO};classTesteEnumReflection{publicstaticvoidmain(String[]args)throwsClassNotFoundException{Class<?>klass=Class.forName("Cores");// Note que os enums acima não têm construtores sem parâmetros; então não podemos usar// klass.getInstance(). Na verdade, nem podemos chamar um construtor de uma Enum - todos// os valores de uma enum já foram instanciados antes do seu uso. Entretanto, se a enum tiver// mais de um elemento:Corescor=(Cores)klass.getEnumConstants()[0];System.out.println(cor);// imprime "AMARELO"klass=Class.forName("Formas");Formasforma=(Formas)klass.getEnumConstants()[1];System.out.println(forma);// imprime "QUADRADO"// O que você queria, na verdade, é transformar uma string em um determinado valor de uma enum.// Então devemos usar Enum.valueOf. Exemplo:EnumseiLaQueEnum=Enum.valueOf((Class<Enum>)klass,"PENTAGONO");System.out.println(seiLaQueEnum);// imprime "PENTAGONO"}}
P
Puka
publicclassTesteEnumString{publicstaticvoidmain(String[]args){Stringsistemas=Sistema.CLIENTE.toString();//VALOR ENUM Class<?extendsEnum>enumClass;StringenumClassName=sistemas;try{enumClass=Class.forName(enumClassName).asSubclass(Enum.class);System.out.println(enumClass);SituacaoSelosituacao=(SituacaoSelo)enumClass.getEnumConstants()[1];//SituacaoSelo é outro ENUMSystem.out.println(situacao);}catch(ClassNotFoundExceptioncfne){thrownewHibernateException("Enum class not found",cfne);}}}