A enumeração é uma forma padronizada de parâmetros, para que você possa substituir explicitamente os conceitos difusos que os parâmetros do tipo INT podem causar. A enumeração é como uma classe e uma matriz sem considerar a incompatibilidade do tipo.
Como uma nova palavra -chave introduzida pela Sun, Enum parece uma aula especial. Ele também pode ter suas próprias variáveis, definir seus próprios métodos e implementar uma ou mais interfaces. Quando declaramos um tipo de enumeração, devemos notar que o tipo de enumeração tem algumas características da seguinte forma.
1. Ele não pode ter um construtor público, e isso pode garantir que o código do cliente não possa criar uma nova instância de enum.
2. Todos os valores de enumeração são públicos, estáticos, finais. Observe que isso é apenas para valores de enum. Podemos definir quaisquer outras variáveis que não sejam de qualquer tipo de qualquer tipo, como definir variáveis em classes comuns. Essas variáveis podem ser feitas com qualquer modificador que você desejar.
3. Enum implementa a interface java.lang.comparável por padrão.
4. Enum substitui o método da tostragem; portanto, se chamarmos o color.blue.toString (), retornamos a string "azul" por padrão.
5. Enum fornece um método de valor do que corresponde ao método da tostração. Chamando ValueOf ("Blue") retornará a cor.Blue. Portanto, devemos prestar atenção a isso ao reescrever o método da tostragem. Em outras palavras, devemos reescrever o valor do método de acordo.
6. Enum também fornece o método dos valores, que permite atravessar facilmente todos os valores de enum.
7. Enum também possui um método oridinal, que retorna a ordem dos valores de enum na classe Enum. Esta ordem depende da ordem da declaração do valor da enumeração. Aqui color.red.ordinal () retorna 0.
Depois de entender esses recursos básicos, vamos ver como usá -los.
1. Atravessando todos os valores da enumeração. Sabendo que existem métodos de valores, podemos usar o loop foreach para atravessar os valores da enumeração com uma maneira familiar.
para (color c: color.values ()) System.out.println ("Encontre o valor:" + c);2. Defina métodos e variáveis em enum. Por exemplo, podemos adicionar um método para colorir para retornar aleatoriamente uma cor.
Public Enum Color {vermelho, verde, azul; private static int number = color.values (). comprimento; public static color getrandomcolor () {long aleatom = system.currenttimemillis () % número; switch ((int) aleatório) {case 0: return color.red; Caso 1: Retorno Color.Green; Caso 2: Retornar Color.Blue; padrão: return color.red; }}}Pode -se observar que não há diferença entre definir variáveis e métodos nos tipos de enum e definir métodos e variáveis em classes comuns. A única coisa a observar é que as definições de variáveis e métodos devem ser colocadas após todas as definições de valor da enumeração, caso contrário, o compilador fornecerá um erro.
3. Substituir a toque, o valor do método
Já sabemos que a enum fornece métodos como toques, valor de etc. Muitas vezes precisamos substituir o método de totestring padrão, então como fazemos enum? De fato, isso não é diferente de substituir um método de toques com uma classe comum.
…. public string tostring () {switch (this) {case Red: return "color.red"; case verde: retornar "color.green"; case azul: retornar "color.blue"; Padrão: Retorno "Unnow Color"; }}….Neste momento, podemos ver que o impresso com o código de travessia anterior é
Color.red cor.Green Color.Blue
Em vez de
Verde vermelho azul.
Você pode ver que a ToString é realmente substituída. De um modo geral, ao substituir a toque, também devemos substituir o método ValueOf para manter sua consistência.
4. Usando construtores
Embora a Enum não possa ter um construtor público, ainda podemos definir o construtor privado e usá -lo dentro da enumeração. Vamos usar o exemplo de cor.
Public Enum Color {Red ("This Is Red"), Green ("This Is Green"), Blue ("This Is Blue"); Private String Desc; Color (string desc) {this.desc =} public string getDesc () {return this.desc; }}Aqui, fornecemos uma informação de explicação para cada cor e, em seguida, definimos um construtor para aceitar essas informações de explicação.
Deve -se notar que o construtor não pode ser público ou protegido, de modo a garantir que o construtor só possa ser usado internamente e o código do cliente não pode nova instância do valor da enumeração. Isso também é completamente razoável, porque sabemos que os valores da enumeração são apenas constantes da final estática pública.
5. Implemente interfaces específicas
Já sabemos que a enum pode definir variáveis e métodos. Ele precisa implementar uma interface e implementar uma interface como a classe comum. Não vou dar um exemplo aqui.
6. Defina seu próprio método de valores de enumeração.
Vimos anteriormente que alguns métodos podem ser definidos para enum, mas na verdade podemos definir métodos para cada valor da enumeração. Dessa forma, nosso exemplo anterior de substituição de toques pode ser reescrito assim.
public enum cor {vermelho {public string tostring () {return "color.red"; }}, Verde {public string tostring () {return "color.green"; }}, Azul {public string tostring () {return "color.blue"; }}; }Logicamente falando, isso é mais claro que o método original da ToString que fornece um "global".
Em geral, Enum, como um tipo completamente novo, espera ajudar os programadores a escrever códigos mais simples e mais fáceis de entender.
As pessoas geralmente não precisam usar alguns recursos avançados da Enum, caso contrário, ele será contra a intenção original simples e fácil de entender.
O artigo acima fala brevemente sobre o papel e os benefícios da enumeração de Jave é todo o conteúdo que compartilho com você. Espero que possa lhe dar uma referência e espero que você possa apoiar mais o wulin.com.