【问题标题】:Check whether a long is randomly generatable by Random.nextLong() [duplicate]检查是否可以通过 Random.nextLong() 随机生成一个 long [重复]
【发布时间】:2021-03-06 16:42:55
【问题描述】:

您可能知道,Random.nextLong() 不会在 Java 中生成所有可能的 long 值。如何检查特定的 long 是否可以通过该方法随机生成?

【问题讨论】:

  • 你为什么想知道这个?这听起来像是XY problem

标签: java


【解决方案1】:

首先,JavaDoc to Random 说:

类 {@code Random} 对 {@code setSeed} 的实现 恰好只使用给定种子的 48 位。然而,总的来说, 覆盖方法可以使用 {@code long} 的所有 64 位 参数作为种子值。

但您可能还想查看ThreadLocalRandom,因为它似乎没有 48 位种子限制。而且速度也更快。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-03-12
    • 1970-01-01
    • 2021-05-13
    • 2016-04-13
    • 2010-10-11
    • 2020-01-15
    • 2019-02-10
    • 1970-01-01
    相关资源
    最近更新 更多