Java Enum是一种特殊的数据类型,它提供了一个特性来定义一组预定义的常量。在这篇文章中,我们将讨论迭代 Java Enum 的不同方法 。枚举可以包含常量、方法等。
public enum Day { |
以下是在 Java 中遍历 Enum 的几个选项:
- 使用 for 循环迭代 Enum。
for(Day day : Day.values()){ System.out.println("Day is :"+ day.name()); }
- 使用 Java Stream API 进行迭代:
更复杂的我们可以使用Java 8 steam 和 lambda来迭代枚举并根据需求过滤结果:Stream.of(Day.values()) .forEach(System.out::println);Arrays.stream(Day.values()) .forEach(System.out::println);
public enum LanguageEnum { JAVA("1"), C("2") , SCALA("3"), PYTHON("4"); String selectedLanguage; LanguageEnum(String selectedLanguage) { this.selectedLanguage = selectedLanguage; }}public class LanguageExample { public static void main(String[] args) { Arrays.stream(LanguageEnum.values()) .filter(l -> l.selectedLanguage.equals("1")) .forEach(System.out::println); }}
- 迭代枚举 forEach()
为了使用f orEach()循环,我们需要将enum转换为 java 列表或集合。
- 要将Enum 转换为 set,请使用EnumSet 。它是用于enum类型的专用 Set 实现。
- 要将枚举转换为列表,我们可以使用Arrays.asList()方法。
public static void main(String[] args) { |
本文的源代码可在我们的GitHub 存储库中找到