如果我有这样一个枚举:
public enum Letter {
A,
B,
C,
//...
}
如何随机选择一个元素?不需要高强度的保证,但较为均匀的分布会更好。
我可以像这样实现:
private Letter randomLetter() {
int pick = new Random().nextInt(Letter.values().length);
return Letter.values()[pick];
}
但是有更好的方法吗?我觉得这是一个已经被解决过的问题。
Letter.values()
都必须创建一个内部Letter
值数组的新副本。 - Stephen C