Random类和System.random() 区别
1、Random继承实现关系
class Random extends Object implements Serializable
直接子类:
SecureRandom: 因为Random不是加密安全的
ThreadLocalRandom:因为Random不是线程安全的
2、Random使用
我们先看看Random两种构造方法的使用得到的结果,发现有参构造得到的三组随机数竟然是相同的!!而空参构造得到的三组随机数不相同,至于为什么我们贴出源码探究。
public class TestRandom {
public static void main(String[] args) {
//生成三个随机数生成器
for (int i = 0; i < 3; i++) {
Random random = new Random();//空参构造
//每个生成器生成三个随机数
for (int i1 = 0; i1 < 3; i1++) {
System.out.println(random.nextInt(10));
}
}
System.out.println("---------------------------------------------------");
//生成三个随机数生成器
for (int i = 0; i < 3; i++) {
Random random = new Random(100);//有参构造
//每个生成器生成三个随机数