Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial programming >> Java

enumeraciones de Java

Enumeraciones Java

En este tutorial, aprenderemos sobre las enumeraciones en Java. Aprenderemos a crear y usar enumeraciones y clases de enumeración con la ayuda de ejemplos.

En Java, una enumeración (abreviatura de enumeración) es un tipo que tiene un conjunto fijo de valores constantes. Usamos el enum palabra clave para declarar enumeraciones. Por ejemplo,

enum Size { 
   SMALL, MEDIUM, LARGE, EXTRALARGE 
}

Aquí, hemos creado una enumeración llamada Size . Contiene valores fijos PEQUEÑO , MEDIA , GRANDE y EXTRAGRANDE .

Estos valores dentro de las llaves se denominan constantes de enumeración (valores).

Nota: Las constantes de enumeración generalmente se representan en mayúsculas.


Ejemplo 1:enumeración de Java

enum Size {
   SMALL, MEDIUM, LARGE, EXTRALARGE
}

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

Salida

SMALL
MEDIUM

Como podemos ver en el ejemplo anterior, usamos el nombre de enumeración para acceder a los valores constantes.

Además, podemos crear variables de tipos de enumeración. Por ejemplo,

Size pizzaSize;

Aquí, tamaño de pizza es una variable del Tamaño escribe. Solo se puede asignar con 4 valores.

pizzaSize = Size.SMALL;
pizzaSize = Size.MEDIUM;
pizzaSize = Size.LARGE;
pizzaSize = Size.EXTRALARGE;

Ejemplo 2:Java Enum con la instrucción 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();
 }
}

Salida

I ordered a medium size pizza.

En el programa anterior, hemos creado un tipo de enumeración Tamaño . Luego declaramos una variable pizzaSize del Tamaño tipo.

Aquí, la variable pizzaSize solo se puede asignar con 4 valores (PEQUEÑO , MEDIA , GRANDE , EXTRAGRANDE ).

Note la declaración,

Test t1 = new Test(Size.MEDIUM);

Llamará al Test() constructor dentro de la Prueba clase. Ahora, la variable pizzaSize se asigna con el MEDIO constante.

En función del valor, se ejecuta uno de los casos de la instrucción switch case.


Clase Enum en Java

En Java, los tipos de enumeración se consideran un tipo especial de clase. Se introdujo con el lanzamiento de Java 5.

Una clase de enumeración puede incluir métodos y campos al igual que las clases normales.

enum Size {
    constant1, constant2, …, constantN;

    // methods and fields	
}

Cuando creamos una clase de enumeración, el compilador creará instancias (objetos) de cada constante de enumeración. Además, todas las constantes de enumeración siempre son public static final por defecto.


Ejemplo 3:Clase 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());
  }
}

Salida

The size of the pizza is small

En el ejemplo anterior, hemos creado una clase de enumeración Size . Tiene cuatro constantes PEQUEÑO , MEDIA , GRANDE y EXTRAGRANDE .

Desde Tamaño es una clase de enumeración, el compilador crea automáticamente instancias para cada constante de enumeración.

Aquí dentro del main() método, hemos utilizado la instancia SMALL llamar al getSize() método.

Nota :Al igual que las clases regulares, una clase enum también puede incluir constructores. Para obtener más información al respecto, visite el constructor de enumeración de Java.


Métodos de la clase Java Enum

Hay algunos métodos predefinidos en las clases de enumeración que están disponibles para su uso.

1. Java Enum ordinal()

Los ordinal() método devuelve la posición de una constante de enumeración. Por ejemplo,

ordinal(SMALL) 
// returns 0

2. Enum compareTo()

El compareTo() El método compara las constantes de enumeración en función de su valor ordinal. Por ejemplo,

Size.SMALL.compareTo(Size.MEDIUM)
 // returns ordinal(SMALL) - ordinal(MEDIUM)

3. Enum toString()

El toString() El método devuelve la representación de cadena de las constantes de enumeración. Por ejemplo,

SMALL.toString()
// returns "SMALL"

4. Nombre de enumeración()

El name() El método devuelve el nombre definido de una constante de enumeración en forma de cadena. El valor devuelto por el name() el método es final . Por ejemplo,

name(SMALL)
// returns "SMALL"

5. Java Enum valueOf()

El valueOf() El método toma una cadena y devuelve una constante de enumeración que tiene el mismo nombre de cadena. Por ejemplo,

Size.valueOf("SMALL")
// returns constant SMALL.

6. Valores de enumeración()

El values() El método devuelve una matriz de tipo de enumeración que contiene todas las constantes de enumeración. Por ejemplo,

Size[] enumArray = Size.value();

¿Por qué enumeraciones de Java?

En Java, se introdujo enum para reemplazar el uso de constantes int .

Supongamos que hemos usado una colección 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;
}

Aquí, el problema surge si imprimimos las constantes. Es porque solo se imprime el número, lo que podría no ser útil.

Entonces, en lugar de usar constantes int, simplemente podemos usar enumeraciones. Por ejemplo,

enum Size {
   SMALL, MEDIUM, LARGE, EXTRALARGE
}

Esto hace que nuestro código sea más intuitivo.

Además, enum proporciona seguridad de tipos en tiempo de compilación .

Si declaramos una variable del Size escribe. Por ejemplo,

Size size;

Aquí, se garantiza que la variable tendrá uno de los cuatro valores. Ahora, si tratamos de pasar valores que no sean esos cuatro valores, el compilador generará un error.


Java

  1. C enums
  2. Operadores Java
  3. Comentarios Java
  4. Java para cada bucle
  5. Cadenas Java
  6. Interfaz Java
  7. Clase anónima de Java
  8. enumeraciones de Java
  9. Constructor de enumeración de Java
  10. Cadenas de enumeración de Java
  11. Prueba de Java con recursos