如何在Java中迭代枚举值?
Java 中的枚举 (enum) 是一种数据类型,用于存储一组常量值。您可以使用枚举来存储固定值,例如一周中的几天、一年中的月份等。
enum Days {
SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY
}您可以使用 for 循环、forEach 循环和 java.util.stream 来迭代枚举的内容。
使用 for 循环
您可以使用 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: ");
//Iterating enum using the for loop
for(Days day: days) {
System.out.println(day);
}
}
}输出
Contents of the enum are: SUNDAY MONDAY TUESDAY WEDNESDAY THURSDAY FRIDAY SATURDAY
使用 forEach 循环
您可以将枚举转换为列表或集合,并使用 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: ");
//Iterating enum using forEach loop
EnumSet.allOf(Days.class).forEach(day -> System.out.println(day));
}
}输出
Contents of the enum are: SUNDAY MONDAY TUESDAY WEDNESDAY THURSDAY FRIDAY SATURDAY
使用 java.util.stream
您也可以将 foreach 循环与流一起使用。因此,使用 Stream 类的 of() 方法,您可以将枚举的内容转换为流,并使用 forEach 循环对其元素执行所需的操作。
示例
以下 Java 程序使用 of() 方法将上面创建的枚举 Days 转换为流,并使用 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: ");
//Iterating the enum using java.util.stream
Stream.of(Days.values()).forEach(System.out::println);
}
}输出
Contents of the enum are: SUNDAY MONDAY TUESDAY WEDNESDAY THURSDAY FRIDAY SATURDAY
广告
数据结构
网络
关系数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP