【问题标题】:Java 8 - Cannot invoke stream() on the array type Enum[] [duplicate]Java 8 - 无法在数组类型 Enum[] 上调用 stream() [重复]
【发布时间】:2015-10-13 10:09:55
【问题描述】:

为什么我不能在数组类型Enum 上调用stream()

DummyEnum[] array = DummyEnum.values();
array.stream(); // Compile Error

枚举:

public enum DummyEnum {
    Hello("Hello"), Welcome("Welcome");
    private String greeting;

    private DummyEnum(final String greeting) {
        this.greeting = greeting;
    }

    public String getValue() {
        return greeting;
    }
}

【问题讨论】:

  • 请注意,DummyEnum.values() 在每次调用时都会创建一个新数组。这通常不是问题,但如果您在非常热的代码中执行此操作,您可能希望将单个实例缓存在静态字段中。

标签: java enums java-8


【解决方案1】:

使用Stream.of(array)。数组没有stream() 方法。

【讨论】:

  • EnumSet.allOf(DummyEnum.class).stream()...
猜你喜欢
  • 2016-03-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多