Enums : como alterar toString()

5 respostas
marcioa1

Olá,

Estou com os seguitne enums :

public enum SuperTipos {SADT,ESHO,HOSPITAL_E_PRONTO_SOCORRO,PRESTADOR_CADASTRADO,ATENDIMENTO_AMBULATORIAL};

O problema é que, quando monto uma JTree, gostaria que aparecesse “Hospital e Pronto Socorro” no lugar de “HOSPITAL_E_PRONTO_SOCORRO”.

Tem como alterar a saída dos meus enums ( Java 5) ? Meu campo enum está dentro de outra classe. Ele deveria ser uma classe ?

Márcio

5 Respostas

marcioa1

Oi eu mesmo.

Estou resolvendo da seguinte forma
public enum SuperTipo {
	SADT,
	ESHO,
	HOSPITAL_E_PRONTO_SOCORRO,
	PRESTADOR_CADASTRADO,
	ATENDIMENTO_AMBULATORIAL;
	
	
	
	public String toString( ) {
	    switch(this) {
	      case SADT: return "SADT";
	      case ESHO: return "ESHO";
	      case HOSPITAL_E_PRONTO_SOCORRO: return "Hospital e Pronto Socorro";
	      case PRESTADOR_CADASTRADO: return "Prestador Cadastrado";
	      case ATENDIMENTO_AMBULATORIAL: return "Atendimento Ambulatorial";
	      default: return "Unknown feature";
	    }
	  }
}

Achei interessante.

Luiz_Gustavo

Tenho feito assim:

public static enum TipoEspecie{
        
        NATIVA ("Nativa"),
        CERCA_VIVA("Cerca Viva"),
        CAFE("Café"),
        EUCALIPTO("Eucalipto"),
        COMUM("Comum");
        
        private final String nome;
        
        TipoEspecie(String nome){
            this.nome = nome;
        }
        
        public String toString(){
            return nome;
        }        
    };

Agora outra pergunta:

Qual infomação você tem gravado no banco de dados referente a um enum, a String referente ao nome ou o número referente ao valor (posição) dele?

[]'s

marcioa1

Luiz,

A informação não está no banco. São regras do negócio.

Márcio

Luiz_Gustavo

Então Márcio, eu usei esse enum para definir os tipos possíveis de uma determinada espécie.
Mas como os dados da espécie ficam gravadas no banco de dados (assim como nome popular, etc) preciso guardar a informação de seu tipo.

Luiz_Gustavo

Nossa… agora que me caiu a ficha de que eu posso ter me expressado mal.
Quiz perguntar qual informação, String ou inteiro, que geralmente se armazena no banco de dados, sem querer me referir ao seu código ou ao meu, especificamente - apesar de que usei o meu como exemplo.

[]'s

Criado 7 de junho de 2005
Ultima resposta 15 de mai. de 2006
Respostas 5
Participantes 2