Language/Java

Java Enum 적용

건담아빠 2024. 1. 15. 11:01

레거시 코드 리팩토링을 진행하면서 상수 부분만 간단히 정리해 놓는다.

 

상수

public class Constants {

  public enum Client {
    GOBANG("10", "고방"), ALGO("20", "알고"), WESTAY("30", "위스테이");

    private final String value;
    private final String text;

    Client(String value, String text) {
      this.value = value;
      this.text = text;
    }

    public String getValue() {
      return value;
    }

    public String getText() {
      return text;
    }

    public static Client findByValue(String value) {
      for (Client client : Client.values()) {
          if (client.getValue().equals(value)) {
              return client;
          }
      }
      // 해당하는 값이 없을 경우 예외 처리 또는 기본값 설정
      throw new IllegalArgumentException("Invalid Client value: " + value);
    }
  }


}

 

Test

Client.ALGO.name()
  >> ALGO
  

Client.ALGO.getValue()
  >> 20

Client.ALGO.getText()
  >> 알고

Client.findByValue("20").getText()
  >> 알고