Java 8处理枚举的方式 [已关闭]

12 浏览
0 Comments

Java 8处理枚举的方式 [已关闭]

我在想在Java 8中,处理枚举值的最佳方式是什么。特别是当您需要获取所有值并将其添加到某个地方时,例如假设我们有以下枚举:

public enum Letter {
 A, B, C, D;
}

当然,我可以这样做:

for (Letter l : Letter.values()) {
    foo(l);
}

但是,我还可以在枚举定义中添加以下方法:

public static Stream stream() {
    return Arrays.stream(Letter.values());
}

然后将上面的for替换为:

Letter.stream().forEach(l -> foo(l));

这种方法是否可行,或者在设计或性能上是否有缺陷?此外,为什么枚举没有stream()方法?

0