Java最高

通过。开始使用Spring 5和Spring Boot 2学习的春天课程:

>>查看课程

1.概述

枚举在Java中,有一种数据类型可以帮助我们将一组预定义的常量分配给变量。

在这篇简短的文章中,我们将看到在枚举在Java中。

2.遍历枚举

我们先定义an枚举,这样我们就可以创建一些简单的代码示例:

DaysOfWeekEnum{星期日,星期一,星期二,星期三,星期四,星期五,星期六}

枚举没有用于迭代的方法,例如forEach ()迭代器()。相反,可以使用的数组枚举函数返回的值。值()方法。

2.1。使用for循环进行迭代

首先,我们可以简单地使用老式的方法循环:

for (DaysOfWeekEnum day: DaysOfWeekEnum.values()) {System.out.println(day);}

2.2。重复使用

我们也可以用java.util.Stream。这样我们就可以对枚举值。

创建一个我们有两个选择,一个是使用Stream.of:

Stream.of (DaysOfWeekEnum.values ());

另一个使用Arrays.stream:

Arrays.stream (DaysOfWeekEnum.values ());

那么,让我们扩展一下DaysOfWeekEnum类来创建使用的示例:

public enum DaysOfWeekEnum{星期日(“休息”),星期一(“工作”),星期二(“工作”),星期三(“工作”),星期四(“工作”),星期五(“工作”),星期六(“休息”);私人字符串typeOfDay;DaysOfWeekEnum(String typeOfDay);typeOfDay = typeOfDay;} //标准的getter和setter public static Stream Stream () {return Stream. of (DaysOfWeekEnum.values());}}

现在我们将写一个示例来打印非工作日:

public class EnumStreamExample {public static void main() {daysofweekenumber .stream() .filter(d -> d. gettypeofday ().equals("off")) .forEach(System.out::println);}}

我们得到的输出,当我们运行这个:

周六周日

2.3。重复使用forEach ()

forEach ()方法被添加到可迭代的接口在Java 8。所以所有的java集合类都有a的实现forEach ()方法。为了将它们与枚举一起使用,首先需要将枚举转换为合适的集合。我们可以使用arrays . aslist ()生成一个ArrayList然后我们可以使用forEach ()方法:

array . aslist (daysofweeknumber .values()) .forEach(day -> System.out.println(day));

2.4。重复使用

是我们可以使用的专业集实现枚举类型:

daysofweekenumber (daysofweekenumber .class) .forEach(day -> System.out.println(day));

2.5。使用一个ArrayList枚举

我们也可以加上an的值枚举到一个列表。这让我们可以控制列表像任何其他:

List days = new ArrayList<>();days.add (DaysOfWeekEnum.FRIDAY);days.add (DaysOfWeekEnum.SATURDAY);days.add (DaysOfWeekEnum.SUNDAY);for (DaysOfWeekEnum day: days) {System.out.println(day);} days.remove (DaysOfWeekEnum.SATURDAY);if (!days.contains(daysofweeknumber . saturday)) {System.out. get_days . get_days . get_days . get_days . get_days . get_days . get_days);println(“周六不再在列表中”);} for (DaysOfWeekEnum day: days) {System.out.println(day);}

我们也可以创建一个ArrayList通过使用arrays . aslist ()

然而,随着ArrayList是由枚举数组它是不可变的,所以我们不能添加或删除项列表。下面代码中的删除操作将会失败UnsupportedOperationException:

List days = Arrays.asList(DaysOfWeekEnum.values());days.remove (0);

3.结论

我们看到了在一个枚举使用forEach,,Java中循环。如果我们需要进行并行运算,是个不错的选择。

否则,对使用哪种方法没有限制。

和往常一样,这里解释的所有示例的代码都可以找到在GitHub

Java底部

通过。开始使用Spring 5和Spring Boot 2学习的春天课程:

>>查看课程
本文评论关闭!