Enum은 열거형이라는 뜻을 가지고 있다 Enum이라는 타입을 사용할 시 Enum에서 설정한 데이터만 사용할 수 있다 예를 들면 '요일' "월, 화, 수, 목, 금, 토, 일"이 있다 해당 요일 외에 데이터는 받지 않기 때문에 컴파일 에러로 사전에 버그를 잡아낼 수 있다
Enum에 다양한 메소드가 존재한다
📝name()
enum Week {
MONDAY,
TUESDAY,
WEDNESDAY,
THURSDAY,
FRIDAY,
SATURDAY,
SUNDAY
}
Week week = Week.FRIDAY;
String weekName = week.name();
System.out.println(weekName); // FRIDAY
enum의 값을 String으로 반환해준다
📝예제
import java.util.Arrays;
public enum AreaEnum {
SEOUL("서울",1),
INCHEON("인천",2),
GYEONGGI("경기",31);
private final String name;
private final int code;
AreaEnum(String name, int code) {
this.name = name;
this.code = code;
}
public String getName() {
return this.name;
}
public int getCode() {
return this.code;
}
public static String getByCode(int code) {
Arrays.stream(values())
.filter(area -> area.getCode() == code)
.findFirst()
.map(AreaEnum::getName)
.orElse(null);
}
}