为什么Java中有一个函数和一个随机数类?

为什么Java中有一个函数和一个随机数类?,java,random,Java,Random,Java中有一个函数Math.random()和一个类random。为什么有两个实体用于看似相同的操作(即随机数生成)以及何时应使用哪一个实体?如果需要设置明确的随机种子(是的,当您需要可复制的随机数时,有时会这样做),则使用Random 除此之外,random()方法只是指向固定的random对象的快捷方式,因此为了简洁起见,当您不关心随机种子时(我猜这在大多数情况下都是如此)。如果您需要设置明确的随机种子(是的,有时您需要可复制的随机数时,您会这样做),然后使用Random 除此之外,ran

Java中有一个函数
Math.random()
和一个类
random
。为什么有两个实体用于看似相同的操作(即随机数生成)以及何时应使用哪一个实体?

如果需要设置明确的随机种子(是的,当您需要可复制的随机数时,有时会这样做),则使用
Random


除此之外,
random()
方法只是指向固定的
random
对象的快捷方式,因此为了简洁起见,当您不关心随机种子时(我猜这在大多数情况下都是如此)。

如果您需要设置明确的随机种子(是的,有时您需要可复制的随机数时,您会这样做),然后使用
Random


除此之外,
random()
方法只是指向固定的
random
对象的快捷方式,因此为了简洁起见,当您不关心随机种子时(我想这在大多数情况下都是如此)。

区别在于java.util.random有方法返回多种类型的对象 号码。不需要铸造。一个构造函数允许用户为重复序列的生成器种子


java.lang.Math.random()使用java.util.random。它只提供双倍,没有种子设定功能。

不同之处在于java.util.Random有返回多种类型种子的方法 号码。不需要铸造。一个构造函数允许用户为重复序列的生成器种子


java.lang.Math.random()使用java.util.random。它只提供双精度,没有种子设定功能。

可能的双精度,不仅仅是种子:不是重复,另一个问题是关于通过
Math.random()*n
对整数进行采样的明确问题。可能的双精度,不仅仅是种子:不是重复,另一个问题是关于通过
Math.random()*n
对整数进行采样的问题。