【发布时间】:2014-04-27 03:56:28
【问题描述】:
我不明白 Seed 在 java.util.Random 中的含义是什么?我已经阅读了Why does this code print “hello world”? 的问题,但我仍然对 seed 感到困惑。谁能友好地描述一下 seed 的真正含义是什么?谢谢。
在setSeed() 方法的文档中...seed - the initial seed 是什么意思?
public void setSeed(长种子)
使用单个长种子设置此随机数生成器的种子。 setSeed 的一般约定是,它会更改此随机数生成器对象的状态,使其处于与刚刚使用参数种子作为种子创建时完全相同的状态。方法 setSeed 由 Random 类实现,方法是将种子原子更新为
(seed ^ 0x5DEECE66DL) & ((1L
并清除 nextGaussian() 使用的 haveNextNextGaussian 标志。
由 Random 类实现的 setSeed 恰好只使用给定种子的 48 位。然而,一般来说,覆盖方法可以使用长参数的所有 64 位作为种子值。 参数:
seed - 初始种子
如果我能准确理解 seed 的含义,我相信我会清楚地理解 this 的答案。
【问题讨论】: