자바에서 열거형은 여러 상수들을 보다 편리하게 선언하고 관리할 수 있게하며, 상수명의 중복을 피하고, 타입에 대한 안정성을 보장한다. 또한 같은 효과를 낼 수 있는 다른 코드에 반해 훨씬 더 간결하고 가독성이 좋은 코드를 작성할 수 있으며 switch문에서도 작동이 가능.
// enum 생성
enum Season {SPRING, SUMMER, FALL, WINTER};
public class Main {
public static void main(String[] args) {
//enum 객체 생성
Season spring = Season.SPRING;
Season winter = Season.WINTER;
//enum 객체 참조변수명으로 사용가능
switch (winter) {
case SPRING:
System.out.println(1);
break;
case SUMMER:
System.out.println(2);
break;
case FALL:
System.out.println(3);
break;
case WINTER:
System.out.println(4);
}
//Spring의 순서를 리턴
System.out.println(Season.SPRING.ordinal());
// 배열로 변환 .values()
Season[] seasonArr = Season.values();
for (Season e : seasonArr) {
System.out.println(e);
}
}
}
리턴타입 / 메소드 / 설명
name()
/열거 객체가 가지고 있는 문자열을 리턴하며, 리턴되는 문자열은 열거타입을 정의할 때 사용한 상수 이름과 동일.ordinal()
/ 열거 객체의 순번(0부터 시작)을 리턴.compareTo(비교값)
/ 주어진 매개값과 비교해서 순번 차이를 리턴.valueOf(String name)
/ 주어진 문자열의 열거 객체를 리턴.values()
/ 모든 열거 객체들을 배열로 리턴.