- java.lang.Object
-  
      - java.util.Random
-  
        - java.util.concurrent.ThreadLocalRandom
 
 
-  
       - 实现的所有接口
-  
         Serializable
 
 public class ThreadLocalRandom extends Random 随机数生成器隔离到当前线程。 像全球Random由所使用的发电机Math类,一个ThreadLocalRandom被初始化为内部生成的种子否则可能不被修改。 适用时,在并发程序中使用ThreadLocalRandom而不是共享Random对象通常会遇到更少的开销和争用。 当多个任务(例如,每个ForkJoinTask)在线程池中并行使用随机数时,使用ThreadLocalRandom特别合适。这个类的用途通常应该是这样的形式: ThreadLocalRandom.current().nextX(...)(其中X是Int,Long,等)。 当所有用法都是这种形式时,永远不可能在多个线程中意外地共享ThreadLocalRandom。该类还提供了其他常用的有界随机生成方法。 ThreadLocalRandom实例不具有加密安全性。 请考虑在安全敏感的应用程序中使用SecureRandom。 此外,默认构造的实例不使用加密随机种子,除非system propertyjava.util.secureRandomSeed设置为true。- 从以下版本开始:
- 1.7
- 另请参见:
- Serialized Form
 
-  
        
       -  
             方法摘要所有方法 静态方法 实例方法 具体的方法 变量和类型 方法 描述 static ThreadLocalRandomcurrent()返回当前线程的ThreadLocalRandom。DoubleStreamdoubles()返回有效无限的伪随机double流double值,每个值在零(包括)和一(不包括)之间。DoubleStreamdoubles(double randomNumberOrigin, double randomNumberBound)返回有效无限的伪随机double值流,每个值符合给定的原点(包括)和绑定(不包括)。DoubleStreamdoubles(long streamSize)返回产生给定streamSize个伪随机double值的流,每个值在零(包括)和一个(不包括)之间。DoubleStreamdoubles(long streamSize, double randomNumberOrigin, double randomNumberBound)返回产生给定streamSize个伪随机double值的流,每个值符合给定的原点(包括)和绑定(不包括)。IntStreamints()返回有效无限的伪随机int值流。IntStreamints(int randomNumberOrigin, int randomNumberBound)返回有效无限的伪随机int流int,每个值都符合给定的原点(包括)和绑定(不包括)。IntStreamints(long streamSize)返回产生给定streamSize个伪随机数int值的流。IntStreamints(long streamSize, int randomNumberOrigin, int randomNumberBound)返回产生给定streamSize个伪随机int值的流,每个值符合给定的原点(包括)和绑定(不包括)。LongStreamlongs()返回有效无限的伪随机long值流。LongStreamlongs(long streamSize)返回生成给定streamSize个伪随机long值的流。LongStreamlongs(long randomNumberOrigin, long randomNumberBound)返回有效无限的伪随机long值流,每个值符合给定的原点(包括)和绑定(不包括)。LongStreamlongs(long streamSize, long randomNumberOrigin, long randomNumberBound)返回产生给定streamSize个伪随机数streamSize的流,每个伪long都符合给定的原点(包括)和绑定(不包括)。protected intnext(int bits)生成具有指示数量的低位的伪随机数。booleannextBoolean()返回伪随机数boolean。doublenextDouble()返回零(包括)和一(不包括)之间的伪随机值double。doublenextDouble(double bound)返回0.0(包括)和指定边界(不包括)之间的伪随机数double。doublenextDouble(double origin, double bound)返回指定原点(包括)和bound(不包括)之间的伪随机值double。floatnextFloat()返回零(包括)和一(不包括)之间的伪随机float值。intnextInt()返回伪随机数int。intnextInt(int bound)返回零(包括)和指定边界(不包括)之间的伪随机int值。intnextInt(int origin, int bound)返回指定原点(包括)与指定边界(不包括)之间的伪随机值int。longnextLong()返回伪随机数long。longnextLong(long bound)返回零(包括)和指定边界(不包括)之间的伪随机值long。longnextLong(long origin, long bound)返回指定原点(包括)与指定边界(不包括)之间的伪随机值long。voidsetSeed(long seed)投掷UnsupportedOperationException。-  
               声明方法的类 java.util.RandomnextBytes, nextGaussian
 
-  
               
 
-  
             
-  
        
       -  
             方法详细信息-  currentpublic static ThreadLocalRandom current() 返回当前线程的ThreadLocalRandom。- 结果
- 
               目前线程的 
              ThreadLocalRandom
 
 -  setSeedpublic void setSeed(long seed) 投掷UnsupportedOperationException。 不支持在此生成器中设置种子。- 重写:
-  
              setSeed在类Random
- 参数
-  
              seed- 初始种子
- 异常
-  
              UnsupportedOperationException- 永远
 
 -  nextprotected int next(int bits) 生成具有指示数量的低位的伪随机数。 由于此类没有子类,因此无法调用或覆盖此方法。
 -  nextIntpublic int nextInt(int bound) 返回零(包括)和指定边界(不包括)之间的伪随机数int。- 重写:
-  
              nextInt在类Random
- 参数
-  
              bound- 上限(不包括)。 必须是积极的。
- 结果
- 
               伪随机数 
              int在零(包括)和绑定(不包括)之间的值
- 异常
-  
              IllegalArgumentException- 如果bound不是正数
 
 -  nextIntpublic int nextInt(int origin, int bound)返回指定原点(包括)与指定边界(不包括)之间的伪随机值int。- 参数
-  
              origin- 返回的值最小
-  
              bound- 上限(独家)
- 结果
- 
               原始(包括)和绑定(不包括)之间的伪随机 
              int值
- 异常
-  
              IllegalArgumentException- 如果origin大于或等于bound
 
 -  nextLongpublic long nextLong(long bound) 返回零(包括)和指定边界(不包括)之间的伪随机数long。- 参数
-  
              bound- 上限(不包括)。 必须是积极的。
- 结果
- 
               伪随机数 
              long在零(包括)和绑定(不包括)之间的值
- 异常
-  
              IllegalArgumentException- 如果bound不是正数
 
 -  nextLongpublic long nextLong(long origin, long bound)返回指定原点(包括)与指定边界(不包括)之间的伪随机值long。- 参数
-  
              origin- 返回的值最小
-  
              bound- 上限(独家)
- 结果
- 
               原始(包括)和绑定(独占)之间的伪随机值 
              long
- 异常
-  
              IllegalArgumentException- 如果origin大于或等于bound
 
 -  nextDoublepublic double nextDouble() 返回零(包括)和一(不包括)之间的伪随机double值。- 重写:
-  
              nextDouble类Random
- 结果
- 
               伪随机 
              double值介于零(包括)和一(不包括)之间
- 另请参见:
-  
              Math.random()
 
 -  nextDoublepublic double nextDouble(double bound) 返回介于0.0(含)和指定边界(不包括)之间的伪随机数double。- 参数
-  
              bound- 上限(不包括)。 必须是积极的。
- 结果
- 
               伪随机 
              double值介于零(包括)和绑定(不包括)之间
- 异常
-  
              IllegalArgumentException- 如果bound不是正面的
 
 -  nextDoublepublic double nextDouble(double origin, double bound)返回指定原点(包括)和bound(不包括)之间的伪随机值double。- 参数
-  
              origin- 返回的值最小
-  
              bound- 上限(独家)
- 结果
- 
               原始(包括)和绑定(独占)之间的伪随机值 
              double
- 异常
-  
              IllegalArgumentException- 如果origin大于或等于bound
 
 -  nextBooleanpublic boolean nextBoolean() 返回伪随机数boolean。- 重写:
-  
              nextBoolean类Random
- 结果
- 
               伪随机数 
              boolean
 
 -  nextFloatpublic float nextFloat() 返回零(包括)和一(不包括)之间的伪随机float值。
 -  intspublic IntStream ints(long streamSize) 返回生成给定streamSize个伪随机数int值的流。- 重写:
-  
              ints类Random
- 参数
-  
              streamSize- 要生成的值的数量
- 结果
- 
               伪随机 
              int值的流
- 异常
-  
              IllegalArgumentException- 如果streamSize小于零
- 从以下版本开始:
- 1.8
 
 -  intspublic IntStream ints() 返回有效无限的伪随机int值流。
 -  intspublic IntStream ints(long streamSize, int randomNumberOrigin, int randomNumberBound) 返回产生给定streamSize个伪随机int值的流,每个值符合给定的原点(包括)和绑定(不包括)。- 重写:
-  
              ints在类Random
- 参数
-  
              streamSize- 要生成的值的数量
-  
              randomNumberOrigin- 每个随机值的原点(包括)
-  
              randomNumberBound- 每个随机值的边界(不包括)
- 结果
- 
               伪随机 
              int值的流,每个值具有给定的原点(包括)和绑定(不包括)
- 异常
-  
              IllegalArgumentException- 如果streamSize小于零,或者randomNumberOrigin大于或等于randomNumberBound
- 从以下版本开始:
- 1.8
 
 -  intspublic IntStream ints(int randomNumberOrigin, int randomNumberBound) 返回有效无限的伪随机int值流,每个值符合给定的原点(包括)和绑定(不包括)。- 重写:
-  
              ints类Random
- Implementation Note:
- 
               实现此方法等同于 
              ints(Long.MAX_VALUE, randomNumberOrigin, randomNumberBound)。
- 参数
-  
              randomNumberOrigin- 每个随机值的原点(包括)
-  
              randomNumberBound- 每个随机值的绑定(不包括)
- 结果
- 
               伪随机 
              int值的流,每个值具有给定的原点(包括)和绑定(不包括)
- 异常
-  
              IllegalArgumentException- 如果randomNumberOrigin大于或等于randomNumberBound
- 从以下版本开始:
- 1.8
 
 -  longspublic LongStream longs(long streamSize) 返回生成给定streamSize个伪随机long值的流。- 重写:
-  
              longs类Random
- 参数
-  
              streamSize- 要生成的值的数量
- 结果
- 
               伪随机 
              long值的流
- 异常
-  
              IllegalArgumentException- 如果streamSize小于零
- 从以下版本开始:
- 1.8
 
 -  longspublic LongStream longs() 返回有效无限的伪随机long值流。
 -  longspublic LongStream longs(long streamSize, long randomNumberOrigin, long randomNumberBound) 返回产生给定streamSize个伪随机数streamSize的流,每个伪long都符合给定的原点(包括)和绑定(不包括)。- 重写:
-  
              longs类Random
- 参数
-  
              streamSize- 要生成的值的数量
-  
              randomNumberOrigin- 每个随机值的原点(包括)
-  
              randomNumberBound- 每个随机值的绑定(不包括)
- 结果
- 
               伪随机 
              long值的流,每个值都具有给定的原点(包括)和绑定(不包括)
- 异常
-  
              IllegalArgumentException- 如果streamSize小于零,或者randomNumberOrigin大于或等于randomNumberBound
- 从以下版本开始:
- 1.8
 
 -  longspublic LongStream longs(long randomNumberOrigin, long randomNumberBound) 返回有效无限的伪随机long值流,每个值符合给定的原点(包括)和绑定(不包括)。- 重写:
-  
              longs在类Random
- Implementation Note:
- 
               实现此方法等同于 
              longs(Long.MAX_VALUE, randomNumberOrigin, randomNumberBound)。
- 参数
-  
              randomNumberOrigin- 每个随机值的原点(包括)
-  
              randomNumberBound- 每个随机值的绑定(不包括)
- 结果
- 
               伪随机 
              long值的流,每个值都具有给定的原点(包括)和绑定(不包括)
- 异常
-  
              IllegalArgumentException- 如果randomNumberOrigin大于或等于randomNumberBound
- 从以下版本开始:
- 1.8
 
 -  doublespublic DoubleStream doubles(long streamSize) 返回产生给定streamSize个伪随机double值的流,每个值在零(包括)和一个(不包括)之间。- 重写:
-  
              doubles类Random
- 参数
-  
              streamSize- 要生成的值的数量
- 结果
- 
               一组 
              double值
- 异常
-  
              IllegalArgumentException- 如果streamSize小于零
- 从以下版本开始:
- 1.8
 
 -  doublespublic DoubleStream doubles() 返回有效无限的伪随机double值流,每个值在零(包括)和一(不包括)之间。
 -  doublespublic DoubleStream doubles(long streamSize, double randomNumberOrigin, double randomNumberBound) 返回产生给定streamSize个伪随机数double值的流,每个值符合给定原点(包括)和绑定(不包括)。- 重写:
-  
              doubles类Random
- 参数
-  
              streamSize- 要生成的值的数量
-  
              randomNumberOrigin- 每个随机值的原点(包括)
-  
              randomNumberBound- 每个随机值的绑定(不包括)
- 结果
- 
               伪随机 
              double值的流,每个值都具有给定的原点(包括)和绑定(不包括)
- 异常
-  
              IllegalArgumentException- 如果streamSize小于零,或者randomNumberOrigin大于或等于randomNumberBound
- 从以下版本开始:
- 1.8
 
 -  doublespublic DoubleStream doubles(double randomNumberOrigin, double randomNumberBound) 返回有效无限的伪随机double值流,每个值符合给定的原点(包括)和绑定(不包括)。- 重写:
-  
              doubles在类Random
- Implementation Note:
- 
               实现此方法等同于 
              doubles(Long.MAX_VALUE, randomNumberOrigin, randomNumberBound)。
- 参数
-  
              randomNumberOrigin- 每个随机值的原点(包括)
-  
              randomNumberBound- 每个随机值的绑定(不包括)
- 结果
- 
               伪随机 
              double值的流,每个值都具有给定的原点(包括)和绑定(不包括)
- 异常
-  
              IllegalArgumentException- 如果randomNumberOrigin大于或等于randomNumberBound
- 从以下版本开始:
- 1.8
 
 
-  
 
-