Enum a la cadena en Java

Rupam Yadav 12 octubre 2023
  1. Convertir el Enum en cadena usando name() en Java
  2. Convertir Enum a String usando toString() en Java
Enum a la cadena en Java

El enum en Java es un tipo o clase especial de datos que contiene un conjunto de constantes. También podemos añadir constructores y métodos en un enum. Para crear un enum en Java, usamos la palabra clave enum y le damos un nombre como a una clase. En este artículo, veremos las formas de convertir un enum en una cadena Java.

Convertir el Enum en cadena usando name() en Java

En el primer ejemplo, usaremos name() de la clase Enum para devolver el nombre exacto de la constante Enum como una cadena. A continuación, hemos creado un Enum dentro de la clase, pero podemos crear un Enum fuera o dentro de ella. Hemos llamado al enum Directions, que contiene los nombres de las direcciones como constante enum.

Podemos obtener cualquier constante usando el método name(). Directions.WEST.name() devolverá WEST como una cadena, que se almacena en la variable de cadena getWestInString y luego se imprime en la salida.

public class EnumToString {
  enum Directions { NORTH, SOUTH, EAST, WEST }

  public static void main(String[] args) {
    String getWestInString = Directions.WEST.name();
    System.out.println(getWestInString);
  }
}

Producción :

WEST

Convertir Enum a String usando toString() en Java

Al igual que name() tenemos el método toString(), pero cuando se trata de usar una constante del enum para cualquier propósito importante, se prefiere name() porque devuelve la misma constante mientras que toString() puede ser anulada dentro del enum. Esto significa que podemos modificar lo que se devuelve como cadena usando toString(), que veremos en el siguiente ejemplo.

En este ejemplo, usamos el método toString() en la constante que necesita ser convertida en una cadena.

public class EnumToString {
  enum Currencies { USD, YEN, EUR, INR }

  public static void main(String[] args) {
    String getCurrency = Currencies.USD.toString();
    System.out.println(getCurrency);
  }
}

Producción :

USD

Ya hemos comentado que podemos anular el método toString() para modificar lo que queremos devolver como cadena con la constante enum. En el ejemplo siguiente, tenemos cuatro monedas como constantes que llaman a los constructores enum con una cadena pasada como argumento.

Siempre que una constante vea un método toString(), le pasará el nombre de la cadena a getCurrencyName, una variable de cadena. Ahora tenemos que anular el método toString() dentro del enum y devolver el getCurrencyName con una cadena.

En el método main(), usamos toString() para obtener la constante INR como cadena. Podemos ver en la salida que la cadena modificada se imprime. También podemos imprimir todos los valores de un enum usando Enum.values(), que devuelve un array de constantes de enum y luego pasa por cada constante para imprimirlas como cadenas.

public class EnumToString {
  enum Currencies {
    USD("USD"),
    YEN("YEN"),
    EUR("EUR"),
    INR("INR");

    private final String getCurrencyName;

    Currencies(String currencyName) {
      getCurrencyName = currencyName;
    }

    @Override
    public String toString() {
      return "Currency: " + getCurrencyName;
    }
  }

  public static void main(String[] args) {
    String getCurrency = Currencies.INR.toString();
    System.out.println("Your " + getCurrency);

    Currencies[] allCurrencies = Currencies.values();
    for (Currencies currencies : allCurrencies) {
      System.out.println("All " + currencies);
    }
  }
}

Producción :

Your Currency: INR
All Currency: USD
All Currency: YEN
All Currency: EUR
All Currency: INR
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 String

Artículo relacionado - Java Enum