Java中的枚举(枚举)是一种存储一组常量值的数据类型。您可以使用枚举来存储固定值,例如一周中的天,一年中的月等。
enum Days { SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY }
您可以使用for循环,forEach循环和java.util.stream迭代枚举的内容。
您可以使用values()
方法检索枚举的内容。此方法返回包含所有值的数组。一旦获得数组,就可以使用for循环对其进行迭代。
以下java程序使用for循环迭代上面创建的枚举Days的内容-
public class IterateEnum{ public static void main(String args[]) { Days days[] = Days.values(); System.out.println("Contents of the enum are: "); //使用for循环迭代枚举 for(Days day: days) { System.out.println(day); } } }
输出结果
Contents of the enum are: SUNDAY MONDAY TUESDAY WEDNESDAY THURSDAY FRIDAY SATURDAY
您可以使用方法将枚举转换为列表或进行设置,并对列表的每个元素执行所需的操作forEach()
。
EnumSet.allOf(Days.class).forEach(day -> System.out.println(day)); Or, Arrays.asList(Days.values()).forEach(day -> System.out.println(day));
以下Java程序将上面创建的枚举Days转换为集合,并使用forEach循环迭代其内容-
import java.util.EnumSet; public class IterateEnum{ public static void main(String args[]) { Days days[] = Days.values(); System.out.println("Contents of the enum are: "); //使用forEach循环迭代枚举 EnumSet.allOf(Days.class).forEach(day -> System.out.println(day)); } }
输出结果
Contents of the enum are: SUNDAY MONDAY TUESDAY WEDNESDAY THURSDAY FRIDAY SATURDAY
您也可以对流使用foreach循环。因此,使用of()
Stream类的方法,您可以将枚举的内容转换为流,并使用forEach循环对其元素执行所需的操作。
以下java程序使用of()
方法将上面创建的枚举Days转换为Stream,并使用forEach循环迭代其内容-
import java.util.stream.Stream; public class IterateEnum{ public static void main(String args[]) { Days days[] = Days.values(); System.out.println("Contents of the enum are: "); //迭代枚举 Stream.of(Days.values()).forEach(System.out::println); } }
输出结果
Contents of the enum are: SUNDAY MONDAY TUESDAY WEDNESDAY THURSDAY FRIDAY SATURDAY