JDK 1.5 이상부터 사용 가능한 문법이다.
"Enumeration"의 약자인 enum을 사용하며, enum은 요소 또는 멤버라 불리는 명명된 값의 집합을 이루는 자료형이다. 열거자 이름들은 일반적으로 해당 언어의 상수 역할을 하는 식별자다.
public enum Fruit {
APPLE, BANANA, MELON
}
public static void main(String[] args) {
Fruit fruit = Fruit.APPLE;
System.out.println(fruit); // APPLE
}
public enum Fruit {
APPLE("사과"),
BANANA("바나나"),
MELON("멜론");
private final String value;
private Fruit(String value) { this.value = value; } // private 키워드 생략 가능
public String getValue() { return value; }
}
public static void main(String[] args) {
System.out.println(Fruit.APPLE.getValue); // 사과
}
public void main(String[] args) {
for (Fruit fruit : Fruit.values()) {
System.out.println(fruit.getValue()); // 사과 바나나 멜론
}
}
모든 열거형을 꺼내올 수 있다.
public void main(String[] args) {
System.out.println(Fruit.APPLE.ordinal()); // 0
System.out.println(Fruit.BANANA.ordinal()); // 1
System.out.println(Fruit.MELON.ordinal()); // 2
}
해당 상수의 index 값을 가져온다.