Java | 清楚理解Random 种子、含参与不含参构造

导读:本篇文章讲解 Java | 清楚理解Random 种子、含参与不含参构造,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

简单理解

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

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!