Java의 Enum 클래스는 모든 자바 열거형 타입이 공통으로 상속받는 기본 클래스입니다. 열거형에 정의된 모든 상수 값을 순회하려면 values() 메서드를 활용하면 됩니다.
예제 1: for 루프로 열거형 값 반복하기
다음은 향상된 for 루프를 사용하여 열거형 값을 하나씩 출력하는 예제입니다.
public class Demo {
public enum Vehicle { CAR, BUS, BIKE }
public static void main(String[] args) {
for (Vehicle v : Vehicle.values())
System.out.println(v);
}
}출력 결과
CAR
BUS
BIKE
Vehicle.values()는 열거형에 선언된 상수들을 배열 형태로 반환합니다. 이 배열을 for 루프로 순회하면 각 상수가 선언된 순서대로 그대로 출력됩니다.
예제 2: Stream의 forEach로 열거형 값 반복하기
Java 8 이상에서는 스트림(Stream) API를 활용해 더욱 간결하게 반복 처리할 수 있습니다.
import java.util.stream.Stream;
public class Demo {
public enum Work { TABLE, CHAIR, NOTEPAD, PEN, LAPTOP }
public static void main(String[] args) {
Stream.of(Work.values()).forEach(System.out::println);
}
}
출력 결과
TABLE
CHAIR
NOTEPAD
PEN
LAPTOP
Stream.of() 메서드에 values()로 얻은 배열을 전달하고, forEach()와 메서드 참조(System.out::println)를 조합하면 별도의 루프 변수 없이 모든 열거형 상수를 한 줄의 코드로 손쉽게 처리할 수 있습니다.