枚举数组到字符串数组

den*_*isp 2 java arrays string enums

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

String[] stringArray = Arrays.asList(Column.values()).toArray(String[]::new);
Run Code Online (Sandbox Code Playgroud)

我总是收到 ArrayStoreException。我能做什么?

Hov*_*els 5

您需要流式传输枚举,以便在创建数组之前先将枚举映射到字符串:

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
Run Code Online (Sandbox Code Playgroud)