Uso de enum em Java
Publicado por Fagner Amaral de Souza Candido (última atualização em 01/02/2011)
[ Hits: 11.988 ]
Homepage: https://github.com/fagnercandido
Olá PessoALL,
Recentemente estive estudando para a certificação Java. E durante esta jornada, que não será nada fácil, me deparei com diversos recursos que ainda não havia utilizado. Dentre eles, vou citar o enum.
enum foi adicionado ao Java 5, portanto, qualquer versão do compilador anterior a 5, o programa irá tratar enum como se fosse um identificador. Para suprir uma gama interessante de problemas, o mais notável é o anti-pattern "constant interface", enum foi adicionado para sanar tais problemas. Este anti-pattern é bem simples: Declara-se interfaces de constantes e pronto! Além de ficar estranho, a classe, geralmente não uso faz de todas essas constantes.
O enum permite resolver isso de forma elegante. Além disso, enum traz consigo alguns recursos legais. Como por exemplo, valores que pode ser colocados no mesmo.
Abaixo segue alguns exemplos de uso.
Qualquer dúvida, sugestão ou crítica serão bem-vindos,
Fagner Candido
f_Candido
@fagner_candido
fagner7777777@gmail.com
/* Síntese Objetivo : Manipular Enum Entrada : Saída : Prints do Enum Autor : f_Candido <fagner7777777@gmail.com> @fagner_candido */ // Declaração do Enum public enum Sexo{ M("Masculino"), F("Feminino"); private String sexo; Sexo(String sexo){ this.sexo = sexo; } public String getSexo(){return this.sexo;} } class Principal{ public static void main(String []args){ // Posicao ordinal do Enum System.out.println(Sexo.M.ordinal()); // Valor do Enum System.out.println(Enum.valueOf(Sexo.class, "M")); } }
Calculadora de décimo terceiro
Atenção a quem posta conteúdo de dicas, scripts e tal (6)
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
O mínimo que você precisa saber sobre o terminal (parte 2)
O mínimo que você precisa saber sobre o terminal (parte 1)
Como iniciar uma máquina virtual do VirtualBox automaticamente no boot do LUbuntu 18 LTS
Flatpak: remover runtimes não usados e pacotes
Mudar o gerenciador de login (GDM para SDDM e vice-versa) - parte 2
Como deixar as abas do Firefox mais fininhas
Mudar o gerenciador de login (GDM para SDDM)
"Tentando" fazer com que programas rodem no Wayland e no X11
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta