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
반응형
'Back-End > Spring Boot' 카테고리의 다른 글
Spring Boot | Java ConcurrentModificationException (순회 도중 삭제하기) (0) | 2023.08.22 |
---|---|
Spring Boot | Java List -> Map List로 만들기 (0) | 2023.07.19 |
Spring Boot | Custom 메일 보내기 ( with JavaMailSender ) (0) | 2023.06.22 |
Spring Boot | Querydsl 에서 Json Column to String 쿼리 만들기 ( feat.Postgresql ) (0) | 2023.06.22 |
Spring Boot | Slf4j 로그 파일로 저장하기 (0) | 2023.06.14 |