使用nextInt实现nextBoolean

问题描述 投票:0回答:1

我们可以在java中使用nextInt安全地实现nextBoolean吗?

例如如下,

   public static boolean nextBoolean(Random random) {
        return random.nextInt(2) == 0;
    }
java scala random
1个回答
0
投票

是的,这是一种有效的方法,因为

nextInt(2)
[0, 2)
范围内生成均匀分布的伪随机整数值。

事实上,

Random#nextBoolean
的文档指出:

方法
nextBoolean
由类
Random
实现,如下所示:
public boolean nextBoolean() {
    return next(1) != 0;
}

生成一个随机整数,即

1
0
,并将其与
0
进行比较。

© www.soinside.com 2019 - 2024. All rights reserved.