如何随机化枚举元素? [英] How to randomize enum elements?
本文介绍了如何随机化枚举元素?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
说你有一个枚举
与一些元素
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);
然后选择一个随机颜色,如:
And then picked a random color like:
this.lightColor = lightColorChoices.get((int) (Math.random() * 3));
所有这一切(工作正常)似乎不必要的复杂。有一个更简单的方法来选择随机枚举元素吗?
All of this (while working fine) seems needlessly complicated. Is there a simplier way to pick a random enum element?
推荐答案
Java的枚举实际上是完全有能力的对象。您可以向枚举中添加一个方法
声明
Java's enums are actually fully capable Objects. You can add a method to the enum
declaration
public enum LightColor {
Green,
Yellow,
Red;
public static LightColor getRandom() {
return values()[(int) (Math.random() * values().length)];
}
}
哪个可以让你这样使用: / p>
Which would allow you to use it like this:
LightColor randomLightColor = LightColor.getRandom();
这篇关于如何随机化枚举元素?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文