枚举可以有可变数量的参数吗?

时间:2015-09-04 10:47:35

标签: java enums

我正在尝试实现这样的枚举:

public enum Colors{
     REDISH ("red", "crimson", "pink")
     BLUEISH ("blue", "oceanic", "sky", "darkblue", "lightblue")
     YELLOWISH ("yellow", "orange")
     ...

     private List<String> values;
}

上面的代码显然不起作用,但我找不到任何有关如何实现它的信息。

这可以以某种方式完成吗?如果没有,那么什么是一个好的选择呢?

1 个答案:

答案 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);
     }
}