如何迭代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

回到顶部