对于我当前的项目,我想要一个类来创建随机值(例如整数)。我非常喜欢给我的方法一个类似于句子的签名,我的int-generate应该像这样调用:
Generate.randomIntBetween(0).and(10);
一个非常简单的实现就是这样的:
public static UpperBound generateIntBetween(int lowerBound) {
return upperBound -> {
return (int) (Math.random()*(upperBound - lowerBound) + lowerBound);
};
}
然而,当范围非常大时,这种解决方案可能会很危险:
Generate.randomIntBetween(Integer.MIN_VALUE).and(Integer.MAX_VALUE);
是否有一个简单而安全的实施方案,不会破坏大范围?我可以简单地使用ThreadLocalRandom.nextInt(int, int)
吗?
没有答案