Capítulo 1 Tipo enumerado
Tipo enumerado enum Elementos de uma enum Atributos e métodos de uma enum Construtores de uma enum
Tipo enumerado Uma enum (enumeração) é um tipo específico de classe de onde podemos obter um número limitado e pré-definido de instâncias.
Elementos de uma enum public enum DiaDaSemana { SEGUNDA, TERCA, QUARTA, QUINTA, SEXTA, SABADO, DOMINGO; }
Elementos de uma enum Na aplicação principal... DiaDaSemana dia1 = new DiaDaSemana(); DiaDaSemana dia1 = DiaDaSemana.QUARTA; DiaDaSemana dia2 = DiaDaSemana.SABADO; Não é possível instanciar
Atributos e métodos de uma enum public enum DiaDaSemana { SEGUNDA, ..., DOMINGO; private int numero; private String nome; public int getNumero() { return numero; } ... <outros métodos> ...
Atributos e métodos de uma enum Na aplicação principal... DiaDaSemana dia1 = DiaDaSemana.QUARTA; ... System.out.println(dia1.getNome()); Em geral, enumerações não possuem métodos set.
Método construtor public enum DiaDaSemana { SEGUNDA(1, “segunda-feira”, “seg”), ..., DOMINGO(7, “domingo”, “dom”); private int numero; private String nome; private String nomeAbreviado; private DiaDaSemana(int numero, String nome, String abrev) { this.numero = numero; this.nome = nome; this.nomeAbreviado = abrev; } ... <outros métodos> ...
Enum como uma constraint Uma enum é tipicamente utilizada como uma constraint restritiva de atributos de outras classes: public class Funcionario { private int matricula; private String nome; private DiaDaSemana folgaSemanal; ... }
O método values() Toda enum possui o método estático values(), que retorna um array contendo todos os possíveis valores daquela enum. DiaDaSemana[] array = DiaDaSemana.values(); for (int i = 0; i < array.length; i++) { System.out.println(array[i].getNome()); }
Exercício Crie a enum Estado contendo todas as unidades federativas da região sudeste do Brasil; Cada elemento da enum Estado deverá conter o nome, a sigla e a capital de um estado; A seguir, crie a classe ExercicioEnum contendo o método main(); Neste método main() crie um loop varrendo todos os estados contidos na enum, exibindo seu nome e capital.