【发布时间】:2021-03-06 16:42:55
【问题描述】:
您可能知道,Random.nextLong() 不会在 Java 中生成所有可能的 long 值。如何检查特定的 long 是否可以通过该方法随机生成?
【问题讨论】:
-
你为什么想知道这个?这听起来像是XY problem。
标签: java
您可能知道,Random.nextLong() 不会在 Java 中生成所有可能的 long 值。如何检查特定的 long 是否可以通过该方法随机生成?
【问题讨论】:
标签: java
首先,JavaDoc to Random 说:
类 {@code Random} 对 {@code setSeed} 的实现 恰好只使用给定种子的 48 位。然而,总的来说, 覆盖方法可以使用 {@code long} 的所有 64 位 参数作为种子值。
但您可能还想查看ThreadLocalRandom,因为它似乎没有 48 位种子限制。而且速度也更快。
【讨论】: