Java 8 使用枚举的方式 [已关闭]
我想知道在Java 8中处理枚举的所有值的最佳方法是什么。特别是当您需要获取所有值并将其添加到某个位置时,例如,假设我们有以下枚举:
public enum Letter {
A, B, C, D;
}
我当然可以做到以下几点:
for (Letter l : Letter.values()) {
foo(l);
}
但是,我还可以在枚举定义中添加以下方法:
public static Stream<Letter> stream() {
return Arrays.stream(Letter.values());
}
然后将上面的 for 替换为:
Letter.stream().forEach(l -> foo(l));
这种方法是可以的,还是在设计或性能方面存在一些错误?此外,为什么枚举没有 stream() 方法?