在Java中,Random 类是一个用于生成伪随机数的工具类。以下是一些关于如何使用 Random 函数的技巧:
创建 Random 实例:
Random() 创建一个 Random 实例。Random(long seed)。生成随机整数:
nextInt() 方法生成一个指定范围内的随机整数。例如,nextInt(int bound) 会生成一个在 [0, bound) 范围内的随机整数。nextInt(int startInclusive, int endExclusive) 生成一个在 [startInclusive, endExclusive) 范围内的随机整数。生成随机浮点数:
nextFloat() 方法生成一个在 [0.0, 1.0) 范围内的随机浮点数。nextDouble() 方法生成一个在 [0.0, 1.0) 范围内的随机双精度浮点数。生成随机布尔值:
nextBoolean() 方法生成一个随机的布尔值,即 true 或 false。生成随机数组:
nextInt(int size) 或 nextDouble(double size) 方法生成指定大小的随机整数或浮点数数组。生成随机字符:
nextInt(int codePointRange) 方法生成一个在指定Unicode范围内的随机字符。例如,nextInt(65536) 会生成一个ASCII字符(因为ASCII字符的范围是0-127)。使用 Random 类的方法重写:
Random 类的 next 方法。性能考虑:
Random 类是合适的。java.util.concurrent.ThreadLocalRandom 类,它通常比 Random 提供更好的性能。线程安全:
Random 类本身不是线程安全的。如果你在多线程环境中使用同一个 Random 实例,可能会遇到并发问题。在这种情况下,可以使用 ThreadLocalRandom 类来代替。其他有用的方法:
nextLong():生成一个指定范围内的随机长整数。nextGaussian():生成一个符合高斯分布的随机双精度浮点数。记住,Random 类生成的随机数实际上是伪随机数,它们是通过算法生成的,看起来像是随机的,但实际上是可以预测的(如果知道种子的话)。因此,Random 类通常用于测试、模拟和演示目的,而不是用于需要高度安全性的场合。