Back-End/Spring Boot
Spring Boot | Java Enum name List 만들기 ( get names )
개발자티포
2023. 7. 18. 16:13
728x90
반응형
Enum 의 name 들만 따로 list로 만들고 싶을 경우 다음과 같이 만들 수 있다.
public enum State {
NEW,
RUNNABLE,
BLOCKED,
WAITING,
TIMED_WAITING,
TERMINATED;
public static String[] names() {
// ...
}
}
public static String[] getNames(Class<? extends Enum<?>> e) {
return Arrays.toString(e.getEnumConstants()).replaceAll("^.|.$", "").split(", ");
}
아래와 같이 파라미터를 자유자재로 쓸 수도 있다.
public String[] getNames() {
return Arrays.stream(MyEnum.class.getEnumConstants()).map(Enum::name)
.toArray(String[]::new);
}
public String[] getNames(Class<? extends Enum<?>> e) {
return Arrays.stream(e.getEnumConstants()).map(Enum::name)
.toArray(String[]::new);
}
public List<String> getNames(Class<? extends Enum<?>> e) {
return Arrays.stream(e.getEnumConstants()).map(Enum::name).toList();
}
728x90
반응형