Development/JAVA
ENUM name으로 문자열 가져오기
루루지
2022. 5. 9. 15:35
반응형
ENUM 값으로
CONTENT("내용"), TITLE("제목")
등이 있을 경우,
CONTENT를 인자로 문자열인 "내용"을 리턴 받는 방법.
사용처는 DB에는 ENUM타입으로 데이터가 저장되어 있고, 사용자딴에 문자열로 뿌려주고 싶은 경우다.
public enum TestEnum {
CONTENT("내용"), PHOTO("사진"), TITLE("내용"), ETC("기타");
public final String label;
private MedicineReviewReportEnum(String label) {
this.label = label;
}
// MAP에 name을 키값으로 담아놓는다.
private static final Map<String, MedicineReviewReportEnum> BY_NAME = new HashMap<>();
static {
for (TestEnum e : values()) {
BY_NAME.put(e.name(), e);
}
}
public static TestEnum findByName(String name) {
return BY_NAME.get(name);
}
}
// Service
TestEnum.findByName("PHOTO").label;
값 => "사진"