如果我有这样的枚举:
public enum Letter {
A,
B,
C,
//...
}
随机挑选一个的最佳方法是什么?它不需要是生产质量的防弹产品,但是相当均匀的分配将是不错的选择。
我可以做这样的事情
private Letter randomLetter() {
int pick = new Random().nextInt(Letter.values().length);
return Letter.values()[pick];
}
但是有更好的方法吗?我觉得这已经解决了。
您认为解决方案有什么问题?对我来说看起来不错。
—
总统詹姆斯·波尔克(James K. Polk)2009年
@GregS-问题在于,每次调用
—
斯蒂芬·C
Letter.values()
都必须创建内部Letter
值数组的新副本。