example - java enum 비교
자바에서 열거 형을 반복하는 for 루프 (7)
스트림
Java 8 이전
for (Direction dir : Direction.values()) {
System.out.println(dir);
}
Java 8
람다와 스트림을 사용할 수도 있습니다 ( Tutorial ) :
Stream.of(Direction.values()).forEach(System.out::println);
추기경 및 중급 방향에 대한 Java의 enum
.
public enum Direction {
NORTH,
NORTHEAST,
EAST,
SOUTHEAST,
SOUTH,
SOUTHWEST,
WEST,
NORTHWEST
}
이 enum
값 각각을 반복하는 for
루프를 enum
어떻게해야합니까?
.values()
열거 형에 values()
메서드를 호출 할 수 있습니다.
for (Direction dir : Direction.values()) {
// do what you want
}
이 values()
메서드는 컴파일러에 의해 암시 적으로 선언됩니다 . 따라서 Enum
문서에는 나와 있지 않습니다.
각각에 대해 사용해보십시오.
for ( Direction direction : Direction.values()){
System.out.println(direction.toString());
}
다음과 같이 할 수 있습니다 :
for (Direction direction : EnumSet.allOf(Direction.class)) {
// do stuff
}
이것이 작동해야하는 순서에 대해 신경 쓰지 않는다면 :
Set<Direction> directions = EnumSet.allOf(Direction.class);
for(Direction direction : directions) {
// do stuff
}
자바 8에서 더 많은 메소드 :
EnumSet
와 함께 EnumSet
사용하기
EnumSet.allOf(Direction.class).forEach(...);
forEach
와 함께 Arrays.asList
사용하기
Arrays.asList(Direction.values()).forEach(...);
for(Direction dir : Direction.values())
{
}