Ola
preciso passar uma Enum como parametro, porem, qdo vou utilizar a funcao, ele me da erro
public Map getListaDeEnum(Class<?> classe) {
Map<String, String> est = new HashMap<String, String>();
//ENQUANTO EXISTIR VALOR NO ENUM, ELE LISTA
for (ContatoTipo type : ContatoTipo.values()) {
//TODO ENUM TERMINA EM "FIM", ENTAO QUANDO ENCONTRAR "FIM", ELE SAI DO LOOP
if (type == ContatoTipo.FIM){break;};
est.put(type.getDescr(), type.getId());
}
return est;
}
public Map getContatoTipoXTest() {
return getListaDeEnum(ContatoTipo.class);
}
da forma que esta ai, funciona
porem, se eu fazer dessa forma, nao funciona
public Map getListaDeEnum(Class<?> classe) {
Map<String, String> est = new HashMap<String, String>();
//ENQUANTO EXISTIR VALOR NO ENUM, ELE LISTA
for (classe type : classe.values()) {
//TODO ENUM TERMINA EM "FIM", ENTAO QUANDO ENCONTRAR "FIM", ELE SAI DO LOOP
if (type == classe.FIM){break;};
est.put(type.getDescr(), type.getId());
}
return est;
}
public Map getContatoTipoXTest() {
return getListaDeEnum(ContatoTipo.class);
}
oq posso fazer para que funciona?
a intencao é separar o metodo “getListaDeEnum” em uma outra classe, fazendo com que seja chamado nas classes que precisam dele
qualquer coisa se puder trocar a logica
todos meus ENUM tem a seguinte caracteristicas comecam com INICIO e terminam com FIM, possues os metodos getID, getDescr, como no exemplo
package br.com.krusst.precadastro.beans;
import java.io.Serializable;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.List;
import java.util.StringTokenizer;
import javax.faces.model.SelectItem;
public enum ContatoTipo implements Serializable{
INICIO("0",""),
RESIDENCIA("1","Residencial"),
TRABALHO("2","Trabalho"),
FIM("3",""),
private String id;
private String descr;
ContatoTipo() {
}
ContatoTipo(String id, String descr) {
this.id = id;
this.descr = descr;
}
public String id() {
return this.id;
}
public String descr() {
return this.descr;
}
public String getId() {
return id;
}
public String getDescr() {
return descr;
}
public void setID(String id) {
this.id = id;
}
public void setDescr(String descr) {
this.descr = descr;
}
}
quem puder me ajudar
abs