我有一个Enum数组。现在,我想将其转换为一个String数组,其中包含方法Enum#name()返回的枚举的名称。这是我到目前为止尝试过的(枚举称为“列”。)
String[] stringArray = Arrays.asList(Column.values()).toArray(String[]::new);
我一直都在获取ArrayStoreException。我该怎么办?
答案 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