在 Java 中生成随机数有多种方法:Math.random() 生成介于 0.0 到 1.0 之间的浮点数。Random 类生成整数、长整数、浮点数和布尔值。SecureRandom 类生成加密安全的伪随机数。ThreadLocalRandom 类为每个线程提供一个伪随机数生成器。

Java 随机数指南
在 Java 中生成随机数是一项常见的任务,用于各种应用程序中。本指南将详细介绍使用 Java 生成随机数的不同方法。
1. Math.random()
Math.random() 方法是生成双精度浮点数的伪随机数生成器。它生成介于 0.0(含)和 1.0(不含)之间的随机数。
立即学习“Java免费学习笔记(深入)”;
使用示例:
支持静态模板,支持动态模板标签,支持图片.SWF.FLV系列广告标签.支持百万级海量数据,绑定内置URL伪装策略(URL后缀名随你怎么写),绑定内置系统升级策略(暂不开放升级),绑定内置模板付费升级策略(暂不开放更新)。支持标签容错处理,绑定内置攻击防御策略,绑定内置服务器优化策略(系统内存释放的干干净净)。支持离线运行,支持次目录,兼容U主机。支持会员功能,支持文章版块权限阅读,支持会员自主注册
double randomNumber = Math.random();
2. Random 类
Random 类提供了一组生成伪随机数的方法。它可以生成整数、长整数、浮点数和布尔值。
使用示例:
Random random = new Random(); int randomNumber = random.nextInt(10); // 生成 0 到 9 之间的随机整数
3. SecureRandom 类
SecureRandom 类生成加密安全的伪随机数。与 Random 类不同,它使用不可预测的随机种子生成随机数。
使用示例:
SecureRandom random = new SecureRandom(); byte[] randomNumber = new byte[16]; // 生成 16 个字节的随机数 random.nextBytes(randomNumber);
4. ThreadLocalRandom 类
ThreadLocalRandom 类提供了每个线程一个伪随机数生成器。这可防止多个线程争用相同的随机数生成器,从而提高并发性能。
使用示例:
ThreadLocalRandom random = ThreadLocalRandom.current(); int randomNumber = random.nextInt(10);
选择合适的方法
选择哪种随机数生成方法取决于所需的随机性级别和应用程序的特定需求。
-
对于基本应用程序:
Math.random()和Random类就足够了。 -
对于需要加密安全: 使用
SecureRandom类。 -
对于并发应用程序: 使用
ThreadLocalRandom类。










