Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial programming >> Java

Enumerações Java

Enums Java


Neste tutorial, aprenderemos sobre enums em Java. Aprenderemos a criar e usar enums e classes enum com a ajuda de exemplos.

Em Java, um enum (abreviação de enumeration) é um tipo que possui um conjunto fixo de valores constantes. Usamos o enum palavra-chave para declarar enums. Por exemplo,

enum Size { 
   SMALL, MEDIUM, LARGE, EXTRALARGE 
}

Aqui, criamos um enum chamado Size . Ele contém valores fixos SMALL , MÉDIO , GRANDE , e EXTRALARGE .

Esses valores dentro das chaves são chamados de constantes enum (valores).

Observação: As constantes enum geralmente são representadas em maiúsculas.

Exemplo 1:Java Enum

enum Size {
   SMALL, MEDIUM, LARGE, EXTRALARGE
}

class Main {
   public static void main(String[] args) {
      System.out.println(Size.SMALL);
      System.out.println(Size.MEDIUM);
   }
}

Saída
SMALL
MEDIUM

Como podemos ver no exemplo acima, usamos o nome enum para acessar os valores constantes.

Além disso, podemos criar variáveis ​​do tipo enum. Por exemplo,
Size pizzaSize;

Aqui, pizzaSize é uma variável do Tamanho modelo. Só pode ser atribuído com 4 valores.
pizzaSize = Size.SMALL;
pizzaSize = Size.MEDIUM;
pizzaSize = Size.LARGE;
pizzaSize = Size.EXTRALARGE;

Exemplo 2:Java Enum com a instrução switch

enum Size {
 SMALL, MEDIUM, LARGE, EXTRALARGE
}

class Test {
 Size pizzaSize;
 public Test(Size pizzaSize) {
   this.pizzaSize = pizzaSize;
 }
 public void orderPizza() {
   switch(pizzaSize) {
     case SMALL:
       System.out.println("I ordered a small size pizza.");
       break;
     case MEDIUM:
       System.out.println("I ordered a medium size pizza.");
       break;
     default:
       System.out.println("I don't know which one to order.");
       break;
   }
 }
}

class Main {
 public static void main(String[] args) {
   Test t1 = new Test(Size.MEDIUM);
   t1.orderPizza();
 }
}

Saída
I ordered a medium size pizza.

No programa acima, criamos um tipo de enumeração Size . Em seguida, declaramos uma variável pizzaSize do Tamanho modelo.

Aqui, a variável pizzaSize só pode ser atribuído com 4 valores (SMALL , MÉDIO , GRANDE , EXTRALARGO ).

Observe a afirmação,
Test t1 = new Test(Size.MEDIUM);

Ele chamará o Test() construtor dentro do Test classe. Agora, a variável pizzaSize é atribuído com o MEDIUM constante.

Com base no valor, um dos casos da instrução switch case é executado.

Classe de enumeração em Java


Em Java, os tipos enum são considerados um tipo especial de classe. Foi introduzido com o lançamento do Java 5.

Uma classe enum pode incluir métodos e campos como classes regulares.
enum Size {
    constant1, constant2, …, constantN;

    // methods and fields	
}

Quando criamos uma classe enum, o compilador criará instâncias (objetos) de cada constante enum. Além disso, todas as constantes enum são sempre public static final por padrão.

Exemplo 3:classe Java Enum

enum Size{
  SMALL, MEDIUM, LARGE, EXTRALARGE;

  public String getSize() {

    // this will refer to the object SMALL
    switch(this) {
      case SMALL:
        return "small";

      case MEDIUM:
        return "medium";

      case LARGE:
        return "large";

      case EXTRALARGE:
        return "extra large";

      default:
        return null;
      }
   }

  public static void main(String[] args) {

    // call getSize()
    // using the object SMALL
    System.out.println("The size of the pizza is " + Size.SMALL.getSize());
  }
}

Saída
The size of the pizza is small

No exemplo acima, criamos uma classe enum Size . Tem quatro constantes SMALL , MÉDIO , GRANDE e EXTRALARGE .



Desde Tamanho é uma classe enum, o compilador cria automaticamente instâncias para cada constante enum.

Aqui dentro do main() método, usamos a instância SMALL para chamar o getSize() método.

Observação :como as classes regulares, uma classe enum também pode incluir construtores. Para saber mais sobre isso, visite Java enum constructor.

Métodos da classe Java Enum


Existem alguns métodos predefinidos em classes enum que estão prontamente disponíveis para uso.

1. Java Enum ordinal()


O ordinal() retorna a posição de uma constante enum. Por exemplo,
ordinal(SMALL) 
// returns 0

2. Enum compareTo()


O compareTo() O método compara as constantes enum com base em seu valor ordinal. Por exemplo,
Size.SMALL.compareTo(Size.MEDIUM)
 // returns ordinal(SMALL) - ordinal(MEDIUM)

3. Enum toString()


O toString() retorna a representação de string das constantes enum. Por exemplo,
SMALL.toString()
// returns "SMALL"

4. Nome da enumeração()


O name() retorna o nome definido de uma constante enum em forma de string. O valor retornado do name() método é final . Por exemplo,
name(SMALL)
// returns "SMALL"

5. Java Enum valueOf()


O valueOf() O método recebe uma string e retorna uma constante enum com o mesmo nome de string. Por exemplo,
Size.valueOf("SMALL")
// returns constant SMALL.

6. Valores de enumeração()


O values() O método retorna uma matriz do tipo enum contendo todas as constantes enum. Por exemplo,
Size[] enumArray = Size.value();

Por que Java Enums?


Em Java, enum foi introduzido para substituir o uso de constantes int .

Suponha que usamos uma coleção de int constantes.
class Size {
   public final static int SMALL = 1;
   public final static int MEDIUM = 2;
   public final static int LARGE = 3;
   public final static int EXTRALARGE = 4;
}

Aqui, o problema surge se imprimirmos as constantes. É porque apenas o número é impresso, o que pode não ser útil.

Então, em vez de usar constantes int, podemos simplesmente usar enums. Por exemplo,
enum Size {
   SMALL, MEDIUM, LARGE, EXTRALARGE
}

Isso torna nosso código mais intuitivo.

Além disso, enum fornece segurança de tipo em tempo de compilação .

Se declararmos uma variável do Size modelo. Por exemplo,
Size size;

Aqui, é garantido que a variável conterá um dos quatro valores. Agora, se tentarmos passar valores diferentes desses quatro valores, o compilador gerará um erro.

Java

  1. C enums
  2. Operadores Java
  3. Comentários Java
  4. Java para cada loop
  5. Strings Java
  6. Interface Java
  7. Classe anônima Java
  8. Enumerações Java
  9. Construtor de enumeração Java
  10. Java enum Strings