创建Random类的对象或使用Math.random()生成随机数

时间:2016-04-06 20:49:40

标签: java random

导入java.util.Random后,既可以生成随机整数,也可以随机双向生成两种方式。

您可以创建Random类的实例

Random randomGenerator = new Random();

然后用它来生成一个大于或等于0但小于10的随机整数或双重

int randomInteger = randomGenerator.nextInt(10);
double randomDouble = randomGenerator.nextDouble(10);

您也可以使用Math.random()

int randomInteger = (int)(Math.random() * 10)
double randomDouble = Math.random() * 10

我认为两种方法都给出了完全相同的结果。 这两种方法中有一种比其他方法更受欢迎吗?

1 个答案:

答案 0 :(得分:1)

Math.random()使用Random类。它基本上是在Math类的Random对象上调用nextDouble()。

然而,第一种方法肯定更容易理解和使用。并且Math类有更多选项。因此,如果您需要大量的随机数,或者如果您需要其他类型,那么我将使用Random类。当你只需要0到1之间的双倍时,我会使用Math.random()。

所以基本上方法的工作方式没有区别,它们都使用Random类。所以你使用的两个取决于我上面所说的情况。

从随机方法的Math类的javadoc:

  

首次调用此方法时,它会创建一个新的伪随机数生成器,就像表达式

一样      

new java.util.Random()

链接到Math.random()上的javadoc页面:https://docs.oracle.com/javase/7/docs/api/java/lang/Math.html#random()

我希望这会有所帮助:)