我想知道在Java8中处理枚举的所有值的最好方法是什么。特别是当您需要获取所有值并将其添加到某个位置时,例如,假设我们有以下枚举:
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()方法?
https://stackoverflow.com/questions/29922296
复制相似问题