在 Java 中生成随机数有多种方法:Math.random() 生成介于 0.0 到 1.0 之间的浮点数。Random 类生成整数、长整数、浮点数和布尔值。SecureRandom 类生成加密安全的伪随机数。ThreadLocalRandom 类为每个线程提供一个伪随机数生成器。
Java 随机数指南
在 Java 中生成随机数是一项常见的任务,用于各种应用程序中。本指南将详细介绍使用 Java 生成随机数的不同方法。
1. Math.random()
Math.random() 方法是生成双精度浮点数的伪随机数生成器。它生成介于 0.0(含)和 1.0(不含)之间的随机数。
使用示例:
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类。








