Java的随机数

本文详细介绍了Java中几种常见的随机数生成方式,包括Random类的基本使用及其子类ThreadLocalRandom的特点,以及UUID类用于生成唯一标识符的方法。适用于需要了解或使用Java随机数功能的开发者。

1.随机数

随机地生成的任意的一个数(理论上讲具有不可预知性).

Random类

用于生产一个伪随机数(通过相同的种子,产生的随机数是相同的)。
public Random():使用默认的种子(以当前系统时间作为种子)。
public Random(long seed):根据指定的种子。

import java.util.Random;

public class RandomDemo {
	public static void main(String[] args) {
		Random random = new Random();
		System.out.println(random.nextBoolean());//boolean类型的随机数
		System.out.println(random.nextLong()); //long类型的随机数
		System.out.println(random.nextInt()); //int类型的随机数
		System.out.println(random.nextInt(100)); //0~100  包含0不包含100的随机数
	}
}
ThreadLocalRandom

是Java7新增类,是Random类的子类,在多线程并发情况下,ThreadLocalRandom相对于Random可以减少多线程资源竞争,保证了线程的安全性。
因为构造器是默认访问权限,只能在java.util包中创建对象,故,提供了一个方法ThreadLocalRandom.current()用于返回当前类对象.

import java.util.concurrent.ThreadLocalRandom;

public class RandomDemo {
	public static void main(String[] args) {		
		ThreadLocalRandom localRandom = ThreadLocalRandom.current();
		System.out.println(localRandom.nextInt(50, 100)); //50~100  包含50不包含100的随机数
	}
}
UUID

通用惟一识别:Universally Unique Identifier; 在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的。UUID是一个128位长的数字,一般用16进制表示。算法的核心思想是结合机器的网卡、当地时间、一个随即数来生成UUID.我们一般用来表示:随机的唯一的字符串.

import java.util.UUID;
public class RandomDemo {
	public static void main(String[] args) {
		
		String uuid = UUID.randomUUID().toString();
		System.out.println(uuid); //结果:20b34958-00ba-4b6e-b51e-28a065e73254
	}
}



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值