如何迭代Java枚举中的值?
Java中的枚举(枚举)是一种存储一组常量值的数据类型。您可以使用枚举来存储固定值,例如一周中的天,一年中的月等。
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: ");
//使用for循环迭代枚举
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: ");
//使用forEach循环迭代枚举
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循环。因此,使用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
以上是 如何迭代Java枚举中的值? 的全部内容, 来源链接: utcz.com/z/316957.html