Énumération en chaîne de caractères en Java

Rupam Yadav 12 octobre 2023
  1. Convertir une énum en chaîne de caractères en utilisant name() en Java
  2. Conversion de Enum en chaîne de caractères en utilisant toString() en Java
Énumération en chaîne de caractères en Java

Enum en Java est un type de données ou une classe spéciale qui contient un ensemble de constantes. Nous pouvons également ajouter des constructeurs et des méthodes dans une enum. Pour créer une enum en Java, nous utilisons le mot-clé enum et nous lui donnons un nom tout comme une classe. Dans cet article, nous allons passer en revue les moyens de convertir une enum en chaîne Java.

Convertir une énum en chaîne de caractères en utilisant name() en Java

Dans le premier exemple, nous utiliserons name() de la classe Enum pour retourner le nom exact de la constante enum sous forme de chaîne de caractères. Ci-dessous, nous avons créé un enum à l’intérieur de la classe, mais nous pouvons créer un enum soit à l’extérieur, soit à l’intérieur de la classe. Nous avons nommé l’énumération Directions, qui contient les noms des directions comme constante énumé.

Nous pouvons récupérer n’importe quelle constante en utilisant la méthode name(). La méthode Directions.WEST.name() renverra WEST sous la forme d’une chaîne de caractères, qui est stockée dans la variable getWestInString puis imprimée dans la sortie.

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

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

Production :

WEST

Conversion de Enum en chaîne de caractères en utilisant toString() en Java

Tout comme name(), nous avons la méthode toString(), mais lorsqu’il s’agit d’utiliser une constante enum dans un but important, name() est préférable car elle renvoie la même constante alors que toString() peut être écrasée à l’intérieur de l’enum. Cela signifie que nous pouvons modifier ce qui est renvoyé comme une chaîne de caractères en utilisant toString(), ce que nous verrons dans l’exemple suivant.

Dans cet exemple, nous utilisons la méthode toString() sur la constante qui doit être convertie en une chaîne de caractères.

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

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

Production :

USD

Nous avons vu plus haut que nous pouvons surcharger la méthode toString() pour modifier ce que nous voulons retourner sous forme de chaîne avec la constante enum. Dans l’exemple ci-dessous, nous avons quatre devises comme constantes appelant les constructeurs enum avec une chaîne passée en argument.

Chaque fois qu’une constante voit une méthode toString(), elle passe le nom de la chaîne de caractères à getCurrencyName, une variable de chaîne de caractères. Nous devons maintenant remplacer la méthode toString() à l’intérieur de l’enum et retourner le getCurrencyName avec une chaîne de caractères.

Dans la méthode main(), nous avons utilisé toString() pour obtenir la constante INR sous forme de chaîne. Nous pouvons voir dans la sortie que la chaîne modifiée est imprimée. Nous pouvons également imprimer toutes les valeurs d’une énumération en utilisant Enum.values(), qui renvoie un tableau de constantes d’énumérations et ensuite boucler à travers chaque constante pour les imprimer comme des chaînes de caractères.

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);
    }
  }
}

Production :

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

Article connexe - Java String

Article connexe - Java Enum