Enum zu String in Java

Rupam Yadav 12 Oktober 2023
  1. Enum in String konvertieren mit name() in Java
  2. Enum in String umwandeln mit toString() in Java
Enum zu String in Java

Enum in Java ist ein spezieller Datentyp oder eine Klasse, die eine Reihe von Konstanten enthält. Wir können auch Konstruktoren und Methoden in einer enum hinzufügen. Um ein Enum in Java zu erstellen, verwenden wir das Schlüsselwort enum und geben ihm einen Namen, genau wie einer Klasse. In diesem Artikel werden wir die Möglichkeiten durchgehen, eine Enum in Java in eine Zeichenkette zu konvertieren.

Enum in String konvertieren mit name() in Java

Im ersten Beispiel werden wir name() der Klasse Enum verwenden, um den genauen Namen der Enum-Konstante als String zurückzugeben. Im Folgenden haben wir ein Enum innerhalb der Klasse erstellt, aber wir können ein Enum entweder außerhalb oder innerhalb der Klasse erstellen. Wir haben das Enum Directions genannt, das die Namen der Richtungen als Enum-Konstante enthält.

Wir können jede Konstante mit der Methode name() abrufen. Mit Directions.WEST.name() wird WEST als String zurückgegeben, der in der String-Variablen getWestInString gespeichert und dann in der Ausgabe ausgegeben wird.

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

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

Ausgabe:

WEST

Enum in String umwandeln mit toString() in Java

Genau wie name() haben wir die Methode toString(), aber wenn es darum geht, eine Enum-Konstante für irgendeinen wichtigen Zweck zu verwenden, ist name() vorzuziehen, weil es die gleiche Konstante zurückgibt, während toString() innerhalb der Enum überschrieben werden kann. Das bedeutet, dass wir das, was als Zeichenkette zurückgegeben wird, mit toString() verändern können, was wir im nächsten Beispiel sehen werden.

In diesem Beispiel verwenden wir die Methode toString() auf die Konstante, die in eine Zeichenkette umgewandelt werden soll.

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

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

Ausgabe:

USD

Wir haben oben besprochen, dass wir die Methode toString() überschreiben können, um zu ändern, was wir mit der Enum-Konstante als String zurückgeben wollen. Im folgenden Beispiel haben wir vier Währungen als Konstanten, die die Enum-Konstruktoren mit einer als Argument übergebenen Zeichenkette aufrufen.

Wann immer eine Konstante eine toString()-Methode sieht, wird sie den String-Namen an getCurrencyName, eine String-Variable, übergeben. Jetzt müssen wir die Methode toString() innerhalb des Enums überschreiben und getCurrencyName mit einem String zurückgeben.

In der Methode main() haben wir toString() verwendet, um die Konstante INR als String zu erhalten. Wir können in der Ausgabe sehen, dass der geänderte String gedruckt wird. Wir können auch alle Werte eines Enums ausgeben, indem wir Enum.values() verwenden, das ein Array von Enum-Konstanten zurückgibt und dann in einer Schleife jede Konstante durchläuft, um sie als Zeichenkette auszugeben.

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

Ausgabe:

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

Verwandter Artikel - Java String

Verwandter Artikel - Java Enum