Computer >> 컴퓨터 >  >> 프로그래밍 >> Java

Java에서 문자열 값으로 열거형(Enum)을 조회하는 방법

개요

이 글에서는 문자열 값을 이용해 열거형(Enum)을 조회하는 방법에 대해 알아보겠습니다. 열거형(Enum)은 상수 그룹(final 변수처럼 변경할 수 없는 변수들)을 나타내는 특별한 '클래스'입니다.

아래 예제를 통해 실제 동작 방식을 확인해 보겠습니다.

입력 예시

조회할 문자열: Java

출력 결과

결과:
JAVA

알고리즘

Step 1 - 시작
Step 2 - input_string이라는 문자열과 Languages 타입의 result 객체를 선언한다.
Step 3 - 값을 정의한다.
Step 4 - .valueOf() 메서드를 사용하여 열거형에서 해당 문자열을 가져온다.
Step 5 - 결과를 출력한다.
Step 6 - 종료

예제 1: valueOf() 메서드 활용

다음 예제에서는 valueOf() 메서드를 사용하여 열거형 값을 조회하고 출력합니다. 입력된 문자열을 toUpperCase()로 대문자로 변환한 후 열거형 상수와 매칭하는 점에 주목하세요.

public class Demo {
   public enum Languages {
      JAVA, SCALA, PYTHON, MYSQL
   }
   public static void main(String[] args) {
      String input_string = "Java";
      System.out.println("조회할 문자열: " +input_string);
      Languages result = Languages.valueOf(input_string.toUpperCase());
      System.out.println("\n결과:");
      System.out.println(result);
   }
}

실행 결과

조회할 문자열: Java

결과:
JAVA

참고: valueOf() 메서드는 전달된 문자열이 열거형에 존재하지 않는 경우 IllegalArgumentException을 발생시킵니다. 따라서 실무에서는 try-catch 블록으로 감싸거나 사전에 유효성을 검사하는 것이 안전합니다.

예제 2: name() 메서드 활용

이번에는 .name() 메서드를 사용하여 열거형 상수의 이름을 문자열 형태로 출력해 보겠습니다.

enum Languages {
   Java,
   Scala,
   Python,
   Mysql;
}
class Demo {
   public static void main(String[] args) {
   System.out.println("ENUM의 값들은 다음과 같습니다:");
   System.out.println(Languages.Java.name());
   System.out.println(Languages.Scala.name());
   System.out.println(Languages.Python.name());
   System.out.println(Languages.Mysql.name());
   }
}

실행 결과

ENUM의 값들은 다음과 같습니다:
Java
Scala
Python
Mysql

마무리

지금까지 두 가지 방식으로 열거형을 다루는 방법을 살펴보았습니다. valueOf()는 문자열을 열거형 상수로 변환할 때 유용하며, name()은 열거형 상수를 다시 문자열로 가져올 때 사용됩니다. 두 메서드를 적절히 활용하면 문자열과 열거형 간의 변환을 손쉽게 처리할 수 있습니다.