如何获取枚举的子集

时间:2010-09-24 10:26:26

标签: java

大多数情况下,包含所有元素的枚举都显示在用户界面的下拉列表中。我们需要在用户界面中仅显示5个字段中的2个。通过某种方式利用可用于枚举的相同函数,获取此数据的更简单方法是什么。

enum Color {RED, GREEN, BLACK, BLUE, YELLOW};

我们要求在某个用户界面中只显示{RED,BLUE}吗?

3 个答案:

答案 0 :(得分:25)

听起来像是EnumSet的工作:

EnumSet<Color> set = EnumSet.of(Color.RED, Color.BLUE);

答案 1 :(得分:10)

EnumSet.of(Color.RED, Color.BLUE)

请参阅java.util.EnumSet

答案 2 :(得分:1)

如果枚举包含一些自定义方法(例如,显示Red的{​​{1}}}

RED

Color.values(); //所有元素。

Color.getSubSetOfValues(); // subset