我正在尝试实现这样的枚举:
public enum Colors{
REDISH ("red", "crimson", "pink")
BLUEISH ("blue", "oceanic", "sky", "darkblue", "lightblue")
YELLOWISH ("yellow", "orange")
...
private List<String> values;
}
上面的代码显然不起作用,但我找不到任何有关如何实现它的信息。
这可以以某种方式完成吗?如果没有,那么什么是一个好的选择呢?
答案 0 :(得分:5)
是的,这是可能的。您只需添加一个带varargs参数的构造函数:
public enum Colors{
REDISH ("red", "crimson", "pink"),
BLUEISH ("blue", "oceanic", "sky", "darkblue", "lightblue"),
YELLOWISH ("yellow", "orange");
private List<String> values;
Colors(String ...strings){
values = Arrays.asList(strings);
}
}