Java:生成范围内的随机数

时间:2016-08-31 07:24:29

标签: java random

对于我当前的项目,我想要一个类来创建随机值(例如整数)。我非常喜欢给我的方法一个类似于句子的签名,我的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)吗?

<小时/> “在特定范围内生成随机整数”对于处理int溢出

没有答案

0 个答案:

没有答案