枚举数组到字符串数组

时间:2019-05-18 20:10:24

标签: java arrays string enums

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

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

我一直都在获取ArrayStoreException。我该怎么办?

1 个答案:

答案 0 :(得分:4)

您需要流式枚举,以便在创建数组之前先将枚举映射到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