FRAMEWORK/Spring

[Enum] enum에 연결된 값을 통해 enum값 알아내기

EARTH_ROOPRETELCHAM 2021. 10. 26. 21:12
728x90
반응형

들어가기 전에

enum값을 지칭하는 다른 단어를 통해 enum을 알아내고자 할 때 사용하는 방법입니다. 필자의 경우, 프로젝트를 진행하며 enum을 지칭하는 다른 단어를 통해 들어온 string을 enum으로 변환해야 해서 사용했습니다. 다른 작업을 할 때에도 쓰일 수 있을 것 같아 추후에 보기 위해 간단하게 작성했습니다.

enum에 연결된 값을 통해 enum값 알아내기

아래 코드의 fromString(String name) 메소드는 enum값과 연결된 값(A)이 따로 있을 때 A를 통해 enum값을 알아내기 위한 메소드입니다. 해당 메소드를 사용하면 손쉽게 enum값을 반환할 수 있습니다.

@Getter
@AllArgsConstructor
public enum BreadCategoryType {

    식사빵("식사빵"),
    도넛("도넛"),
    추억의빵("추억의 빵"),
    쿠키("쿠키"),
    파이디저트("파이/디저트"),
    기타("기타");

    private final String name;

    public static BreadCategoryType fromString(String name) {
        for (BreadCategoryType breadCategoryType: BreadCategoryType.values()) {
            if(breadCategoryType.name.equals(name))
                return breadCategoryType;
        }
        return null;
    }
}

참고 자료

728x90
반응형