Random使用一个48位的种子,如果这个类的两个实例是用同一个种子创建,对它们以同样顺序调用方法,则它们会产生相同的数字序列。
下面的例子可以看到,当两个Random对象种子相同时,它们会产生相同的数字序列。注意:当使用默认的种子构造random对象时,它们属于同一个种子。
import java.util.*;
public class TestRandom
{
public static void main(String[] args)
{
//random种子
Random r1 = new Random(50);
System.out.println("第一个种子为50的Random对象");
System.out.println("r1.next():"+r1.nextBoolean());
System.out.println("r1.nextInt():"+r1.nextInt());
System.out.println("r1.nextLong():"+r1.nextLong());
Random r2 = new Random(50);
System.out.println("第二个种子为50的Random对象");
System.out.println("r2.next():"+r2.nextBoolean());
System.out.println("r2.nextInt():"+r2.nextInt());
System.out.println("r2.nextLong():"+r2.nextLong());
Random r3 = new Random(100);
System.out.println("第三个种子为100的Random对象");
System.out.println("r3.next():"+r3.nextBoolean());
System.out.println("r3.nextInt():"+r3.nextInt());
System.out.println("r3.nextLong():"+r3.nextLong());
}
}