问题描述
Java的枚举实际上是功能齐全的对象。您可以在enum
声明中添加方法
public enum LightColor {
Green,
Yellow,
Red;
public static LightColor getRandom() {
return values()[(int) (Math.random() * values().length)];
}
}
它将允许您像这样使用它:
LightColor randomLightColor = LightColor.getRandom();
解决方法
假设您有enum
一些元素
public enum LightColor {
RED,YELLOW,GREEN
}
并希望从中随机选择任何颜色。
我把颜色放进去
public List<LightColor> lightColorChoices = new ArrayList<LightColor>();
lightColorChoices.add(LightColor.GREEN);
lightColorChoices.add(LightColor.YELLOW);
lightColorChoices.add(LightColor.RED);
然后选择一个随机颜色,例如:
this.lightColor = lightColorChoices.get((int) (Math.random() * 3));
所有这些(虽然工作正常)似乎都不必要地复杂。有没有一种简单的方法来选择随机枚举元素?