El método valueOf de la clase Enum en Java

Rupam Yadav 12 octubre 2023
El método valueOf de la clase Enum en Java

En Java, Enum es un tipo de datos especial que permite que una variable sea un conjunto de constantes predefinidas.

Los ejemplos comunes incluyen días de la semana, direcciones, colores, etc. Como las enumeraciones son constantes, todas se definen en letras mayúsculas.

El método valueOf de la clase Enum en Java

En Java, usamos la palabra clave enum para definir un tipo Enum para crear nuestras clases de tipos de datos.

La clase Enum tiene el método valueOf(), que devuelve la constante de enumeración del tipo de enumeración especificado con el nombre especificado. El nombre del tipo de enumeración debe coincidir con el identificador utilizado para declarar la constante de enumeración.

El método valueOf() distingue entre mayúsculas y minúsculas y arrojará una IlegalArgumentException con una cadena no válida.

Aquí hemos utilizado la enumeración Colors. Una clase Enum obtiene automáticamente un método valueOf estático en el momento de la compilación.

La variable color del tipo Colors es el tipo de enumeración definido en este programa que se indica a continuación. La variable color puede tomar una de las constantes de enumeración de color (RED, GREEN, BLUE, WHITE, PINK, YELLOW). En nuestro caso, el color se establece en Colors.BLUE.

Usando el valueOf(), tenemos una instancia de la clase Enum Colors para un valor de cadena dado. La variable colorRed apuntará a Colors.RED. Podemos ver eso en la declaración de impresión a continuación en la salida.

public class EnumTest {
  enum Colors { RED, GREEN, BLUE, WHITE, PINK, YELLOW }

  public static void main(String[] arg) {
    Colors color = Colors.BLUE;
    Colors colorRed = Colors.valueOf("RED");
    System.out.println("color : " + color);
    System.out.println("Colors.valueOf(RED) : " + colorRed);
  }
}

Producción

color : BLUE
Colors.valueOf(RED) : RED
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 Enum