这个参数是干什么用的?Random构造方法有参和无参  有什么区别?最好举个例子

解决方案 »

  1.   

    Random产生的随机数是伪随机数,是通过算法计算的, 而计算需要一个种子数seed;
    不带参数的实际上是自动产生了一个种子,看源码    public Random(){
            this(++seedUniquifier + System.nanoTime()); 
        }
        private static volatile long seedUniquifier = 8682522807148012L;一般来说,都用不带参数的,这样得到的结果才每次都不一样,
    而带参数的话,比如下面这样: Random r=new Random(123456789L);
    for(int i=0;i<5;i++){
    System.out.println(r.nextInt());
    }那么每次运行这段代码,都会得到同下面一样的结果:
    -1442945365
    -1016548095
    1962592967
    1094656688
    1677212580