Mais um exemplo do “entra lixo, sai lixo” (GIGO). Uma variação desse princípio é “como obter um dado se você não o guarda, nem o retorna?”
Nesse caso, você não disse o que o seu construtor faz com o parâmetro. Se o parâmetro for jogado fora, e você não sobrepuser o método toString(), como é que você vai obter os nomes?
Você precisa implementar o metodo e declararar a variavel do Enum.
Um exemplo
public enum EnumExperienciaExportacao {
EXPORTA_DESISTIU(1L,"Já exportou, mas desistiu"),
EXPORTA_COMECOU(2L,"Começou a exportar há menos de 18 meses"),
EXPORTA_CONTINUAMENTE(3L,"Exportou continuamente nos últimos 3 anos"),
EXPORTA_IRREGULAR(4L,"Exportou irregularmente nos últimos 3 anos");
private Long codigo;
private String descricao;
EnumExperienciaExportacao(Long cod, String descricao){
codigo = cod;
this.descricao = descricao;
}
public static EnumExperienciaExportacao getByCodigo(Long cod){
if (cod == null)
return null;
for (EnumExperienciaExportacao e : EnumExperienciaExportacao.values()){
if (e.codigo.equals(cod))
return e;
}
return null;
}