从枚举值生成数组

时间:2017-03-11 16:56:43

标签: java enums

我们说我有一个枚举:

public enum Fruit {
    APPLES("Apples"),
    BANANAS("Bananas"),
    PEAR("Pear"),
    ORANGE("Oranges");

    private final String string;

    Fruit(String string) {
        this.string = string;
    }
}

生成包含枚举字符串值的String[]数组的最佳方法是什么,即"Apples", "Bananas, "Pear", "Oranges"

我可以想到一些方法,但它们可能会变得混乱,我想知道是否有直接的方法来获得这些价值。

2 个答案:

答案 0 :(得分:8)

这是我能想到的最短的一个:

Arrays.stream(Fruit.values()).map(Fruit::getName).toArray(String[]::new);

Fruit.getName()将是一个返回Enum

string字段的方法

答案 1 :(得分:2)

你可以这样做。

Arrays.toString(Fruit.values()).replaceAll("^.|.$", "").split(", ");