http://blog.csdn.net/u012099869/article/details/50394644 这两个产生随机数的区别
random.nextInt() 为 Java.util.Random类中的方法;
Math.random() 为 java.lang.Math 类中的静态方法。
- Math.random() 方法生成[0, 1)范围内的double类型随机数;Random类中的nextXxxx系列方法生成0-n的随机数;
- Math.random() 线程安全,多线程环境能被调用;
- 如无特殊需求,则使用(int)(Math.random()*n)的方式生成随机数即可。
nextInt 生成的为 伪随机既有规则的随机,Random类中的随机算法就是伪随机。
具体表现为:相同种子数的Random对象生成的随机数序列相同:
在用到生成随机数抽奖的时候用findbugs 发现这个问题