① UUID.randomUUID(); 生成一个32为的uuid标识符(URI)
private static String generate_UUID() {
UUID uuid=UUID.randomUUID();
String str = uuid.toString();
System.out.println("str: " + str); // bb01a3cd-987f-469d-9e0f-04dffa2d3278
return str.replace("-", ""); // bb01a3cd987f469d9e0f04dffa2d3278
}
②Math.random () 生成一个【0,1)的左闭右开的数(小数)
今天看书的时候偶然发现一个特别方便的生成随机数的方法拿出来分享下。
example:
求:生成范围为 [ 0 ,352324 ] 之间的随机数。(包括临界值)
代码如下:
(int)( Math.random () * ( 352324 +1) ) ;
简单解释下,Math.random()生成随机数的范围是 0 到 1 之间的 ,当然,不包括临界值,取不到1,可以取到0。所以,这里利用这个特性只需要让最大值+1就可以使范围扩大,最后使用显示的类型转换只保留整数的部分就好了。如果最小值不是 0 可以先进行变换就行了(如:最大值和最小值同时缩小)。
③ new Random().newXxx(n) 生成一个【0,n) 的左闭右开的Xxx类型的数
public class RandomTest {
@Test
public void Test(){
Random random = new Random();
// 返回一个从0开始,到给定数之间int值,左闭右开
int i = random.nextInt(3);
System.out.println(i);// 0 1 2 中的随机一个数
}
}