枚举数组到字符串数组[重复]

 收藏

我有一个Enum数组。现在,我想将其转换为一个String数组,其中包含方法Enum#name()返回的枚举的名称。这是到目前为止我尝试过的(枚举称为“列”。):

String[] stringArray = Arrays.asList(Column.values()).toArray(String[]::new);

我总是得到一个ArrayStoreException。我能做什么?

回复
  • 求泰清 回复

    您需要流式枚举,以便在创建数组之前先将枚举映射到String:

    String[] arrStr = Arrays.stream(FooEnum.values()) // create stream of enum values
            .map(e -> e.toString())  // convert enum stream to String stream
            .toArray(String[]::new); // convert stream to an array