switch enum en Java

Rupam Yadav 12 octubre 2023
  1. Conmutar Enum usando el conmutador tradicional y Case en Java
  2. Conmutar en Enum Usando el Switch Mejorado y Case en Java 12
switch enum en Java

Este artículo explica cómo utilizar switch sobre enum en Java. Vamos a repasar dos formas de utilizar la sentencia switch con enum.

Conmutar Enum usando el conmutador tradicional y Case en Java

En el ejemplo, creamos un enum dentro de la clase SwitchEnum y lo llamamos Days. Contiene siete constantes que son los días de la semana. Utilizamos el método switch y case para mostrar un mensaje diferente para cada día.

Obtenemos el valor del enum usando el nombre de la constante como Days.MONDAY obtendrá la constante MONDAY, y se almacenará en el objeto enum day. Podemos usarlo para cambiar entre casos. La función switch() toma el valor a cambiar, que es day. Por último, especificamos cada caso y la salida que debe producir.

Tenemos que romper cada caso en el switch para que rompa la ejecución una vez que haya terminado.

public class SwitchEnum {
  enum Days { SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY }

  public static void main(String[] args) {
    Days day = Days.MONDAY;

    switch (day) {
      case SUNDAY:
        System.out.println("Sundays are wonderful");
        break;

      case MONDAY:
        System.out.println("Mondays are boring");
        break;

      case TUESDAY:
        System.out.println("Tuesdays are OK");
        break;

      case WEDNESDAY:
        System.out.println("Wednesdays are tiring");
        break;

      case THURSDAY:
        System.out.println("Thursdays are even more boring");
        break;

      case FRIDAY:
        System.out.println("Fridays means work work and work");
        break;

      case SATURDAY:
        System.out.println("Saturdays makes everybody happy");
        break;
    }
  }
}

Producción :

Mondays are boring

Conmutar en Enum Usando el Switch Mejorado y Case en Java 12

En Java 12, el switch y case mejorados fueron introducidos para superar las desventajas del switch y case tradicionales. La mayor desventaja de las sentencias switch tradicionales es que tenemos que especificar la palabra clave break en cada caso.

Ahora, con el switch y el case mejorados, podemos utilizar el enum con códigos más cortos. Usamos flechas en lugar de dos puntos en el nuevo switch y case. Como sólo queremos imprimir una sentencia, no tenemos que utilizar ninguna llave.

public class SwitchEnum {
  enum Days { SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY }

  public static void main(String[] args) {
    Days day = Days.SATURDAY;

    switch (day) {
            case SUNDAY -> System.out.println("Sundays are wonderful");
            case MONDAY -> System.out.println("Mondays are boring");
            case TUESDAY -> System.out.println("Tuesdays are OK");
            case WEDNESDAY -> System.out.println("Wednesdays are tiring");
            case THURSDAY -> System.out.println("Thursdays are even more boring");
            case FRIDAY -> System.out.println("Fridays means work work and work");
            case SATURDAY -> System.out.println("Saturdays makes everybody happy");
        }

    }
}

Producción :

Saturdays makes everybody happy
Rupam Yadav avatar Rupam Yadav avatar

Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.

LinkedIn

Artículo relacionado - Java Switch

Artículo relacionado - Java Enum