简单理解
1、种子的作用是帮助产生随机数的。如果种子是一个随时变化的数,则产生的随机数就不是确定的,即每次执行代码,结果不同;如果种子是一个定值,则随机数就是确定的,即每次执行代码,产生的随机数是同一个数值。
2、含参就是把种子赋值成一个确定的值,所以含参构造后,产生的随机数是确定的,不会随着重新执行代码而改变;不含参则是处理时间得到种子数值,此时种子数值随时间一直在变,所以产生的随机数是可变化的,即每次执行代码产生的随机值不同。
详细解释
Random有两个构造方法:
不含参:
public Random() {
setSeed(System.nanoTime() + seedBase);
++seedBase;
}
//Random random = new Random();
含参:
public Random(long seed) {
setSeed(seed);
}
//Random random = new Random(n); n为任意long型数值,取值对产生随机数的影响不大
不含参构造方法使用当前时间作为种子,而含参构造方法传入一个固定值作为种子
种子 seed 是用来干嘛?
seed 是 Random 生成随机数时使用的参数。
seed 参与了随机数的计算函数,所以当seed变了的时候,随机数也会变。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/103211.html