Class ThreadLocalRandom
java.lang.Object
java.util.Random
org.multiverse.utils.ThreadLocalRandom
- All Implemented Interfaces:
Serializable, java.util.random.RandomGenerator
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from interface java.util.random.RandomGenerator
java.util.random.RandomGenerator.ArbitrarilyJumpableGenerator, java.util.random.RandomGenerator.JumpableGenerator, java.util.random.RandomGenerator.LeapableGenerator, java.util.random.RandomGenerator.SplittableGenerator, java.util.random.RandomGenerator.StreamableGenerator -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic ThreadLocalRandomcurrent()Returns the current thread'sThreadLocalRandom.protected intnext(int bits) doublenextDouble(double n) Returns a pseudorandom, uniformly distributeddoublevalue between 0 (inclusive) and the specified value (exclusive).doublenextDouble(double least, double bound) Returns a pseudorandom, uniformly distributed value between the given least value (inclusive) and bound (exclusive).intnextInt(int least, int bound) Returns a pseudorandom, uniformly distributed value between the given least value (inclusive) and bound (exclusive).longnextLong(long n) Returns a pseudorandom, uniformly distributed value between 0 (inclusive) and the specified value (exclusive).longnextLong(long least, long bound) Returns a pseudorandom, uniformly distributed value between the given least value (inclusive) and bound (exclusive).voidsetSeed(long seed) ThrowsUnsupportedOperationException.Methods inherited from class Random
doubles, doubles, doubles, doubles, from, ints, ints, ints, ints, longs, longs, longs, longs, nextBoolean, nextBytes, nextDouble, nextFloat, nextGaussian, nextInt, nextInt, nextLongMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface java.util.random.RandomGenerator
equiDoubles, isDeprecated, nextExponential, nextFloat, nextFloat, nextGaussian
-
Constructor Details
-
ThreadLocalRandom
public ThreadLocalRandom()Constructor called only by localRandom.initialValue. We rely on the fact that the superclass no-arg constructor invokes setSeed exactly once to initialize.
-
-
Method Details
-
current
Returns the current thread'sThreadLocalRandom.- Returns:
- the current thread's
ThreadLocalRandom
-
setSeed
public void setSeed(long seed) ThrowsUnsupportedOperationException. Setting seeds in this generator is not supported.- Overrides:
setSeedin classRandom- Throws:
UnsupportedOperationException- always
-
next
-
nextInt
public int nextInt(int least, int bound) Returns a pseudorandom, uniformly distributed value between the given least value (inclusive) and bound (exclusive).- Parameters:
least- the least value returnedbound- the upper bound (exclusive)- Returns:
- the next value
- Throws:
IllegalArgumentException- if least greater than or equal to bound
-
nextLong
public long nextLong(long n) Returns a pseudorandom, uniformly distributed value between 0 (inclusive) and the specified value (exclusive).- Parameters:
n- the bound on the random number to be returned. Must be positive.- Returns:
- the next value
- Throws:
IllegalArgumentException- if n is not positive
-
nextLong
public long nextLong(long least, long bound) Returns a pseudorandom, uniformly distributed value between the given least value (inclusive) and bound (exclusive).- Parameters:
least- the least value returnedbound- the upper bound (exclusive)- Returns:
- the next value
- Throws:
IllegalArgumentException- if least greater than or equal to bound
-
nextDouble
public double nextDouble(double n) Returns a pseudorandom, uniformly distributeddoublevalue between 0 (inclusive) and the specified value (exclusive).- Parameters:
n- the bound on the random number to be returned. Must be positive.- Returns:
- the next value
- Throws:
IllegalArgumentException- if n is not positive
-
nextDouble
public double nextDouble(double least, double bound) Returns a pseudorandom, uniformly distributed value between the given least value (inclusive) and bound (exclusive).- Parameters:
least- the least value returnedbound- the upper bound (exclusive)- Returns:
- the next value
- Throws:
IllegalArgumentException- if least greater than or equal to bound
-