Quando usar ENUM?

4 respostas
R

Bom, tenho uma situação onde há exatamente 21 valores fixos que vão de A1, A2, A3, A4 até A21.
Quando o usuário vai cadastrar esse registro ele deve escolher se ele é do tipo A1, A2, A3… ou A21.

Minha dúvida é: EU devo criar uma Classe Enumaration com os valores de A1 até A21 ?

4 Respostas

Rodrigo_Sasaki

Me parece ser uma boa solução.

Melhor que uma classe/interface cheia de constantes :slight_smile:

R

A vantagem em usar o Enumeration é “amarrar” o programador a não digitar qualquer besteira no campo onde exige o enumeration ? Isso porque ele obrigatoriamente vai ter que passar uma variável do tipo enumeration.

Certo ?

Rodrigo_Sasaki
Sim, vamos supor que você cria uma classe de constantes:
public class Tipos{

    public static final int A1 = 1;
    public static final int A2 = 2;
    public static final int A3 = 3;
    public static final int A4 = 4;
     
    // outras constantes

}
Então seu método cadastrar teria que receber um int:
public void cadastrar(Registro registro, int tipo){
    // implementação
}
onde no caso você iria querer que fosse chamado assim:
cadastrar(registro, Tipos.A2);
Sendo assim, algum usuário esperto pode enviar qualquer int, que seria um valor válido.
cadastrar(registro, -31);
Com um enum você evita isso, ele só conseguirá enviar valores que são válidos na sua enumeração.

OBS: O exemplo acima foi só ilustrativo, provavelmente o tipo está dentro do registro, mas assim ficou mais didático :)

R

era isso mesmo, obrigado !

Criado 26 de junho de 2013
Ultima resposta 26 de jun. de 2013
Respostas 4
Participantes 2