HOWTO · Java

Java에서 열거 형을 문자열로

이 튜토리얼은 enum 클래스를 Java에서 문자열로 변환하는 두 가지 방법을 설명합니다.

Java의 Enum은 상수 세트를 보유하는 특수 데이터 유형 또는 클래스입니다. 열거 형에 생성자와 메서드를 추가 할 수도 있습니다. Java에서 enum을 생성하기 위해 우리는 키워드enum을 사용하고 클래스와 같은 이름을 부여합니다. 이 기사에서는 열거 형을 문자열 Java로 변환하는 방법을 살펴 보겠습니다.

Java에서name()을 사용하여 Enum을 문자열로 변환

첫 번째 예제에서는 Enum클래스의 name()을 사용하여 열거 형 상수의 정확한 이름을 문자열로 반환합니다. 아래에서는 클래스 내부에 열거 형을 만들었지 만 외부 또는 내부에 열거 형을 만들 수 있습니다. 열거 형 상수로 길 찾기 이름을 포함하는 열거 형 Directions를 명명했습니다.

name()메소드를 사용하여 모든 상수를 가져올 수 있습니다. Directions.WEST.name()WEST를 문자열로 반환하고 문자열 변수getWestInString에 저장 한 다음 출력에 인쇄합니다.

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

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

출력:

WEST

Java에서toString()을 사용하여 Enum을 문자열로 변환

name()과 마찬가지로toString()메서드가 있지만 중요한 목적으로 열거 형 상수를 사용하는 경우name()이 선호되는 이유는toString()과 동일한 상수를 반환하기 때문입니다. 열거 형 내에서 재정의 될 수 있습니다. 이는 다음 예제에서 보게 될toString()을 사용하여 문자열로 반환되는 것을 수정할 수 있음을 의미합니다.

이 예에서는 문자열로 변환해야하는 상수에toString()메서드를 사용합니다.

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

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

출력:

USD

우리는 열거 형 상수를 사용하여 문자열로 반환하려는 것을 수정하기 위해toString()메서드를 재정의 할 수 있다고 위에서 논의했습니다. 아래 예에서는 인수로 전달 된 문자열을 사용하여 열거 형 생성자를 호출하는 상수로 4 개의 통화가 있습니다.

상수가toString()메소드를 볼 때마다 문자열 이름을 문자열 변수 인getCurrencyName에 전달합니다. 이제 열거 형 내에서toString()메서드를 재정의하고 문자열로getCurrencyName을 반환해야합니다.

main()메서드에서toString()을 사용하여INR 상수를 문자열로 얻었습니다. 출력에서 수정 된 문자열이 인쇄되는 것을 볼 수 있습니다. 열거 형 상수의 배열을 반환하는Enum.values()를 사용하여 열거 형의 모든 값을 인쇄 한 다음 모든 상수를 반복하여 문자열로 인쇄 할 수도 있습니다.

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

출력:

Your Currency: INR
All Currency: USD
All Currency: YEN
All Currency: EUR
All Currency: INR