Class RandomUtils
Utility library that supplements the standard Random
class.
Caveat: Instances of Random
are not cryptographically secure.
Please note that the Apache Commons project provides a component dedicated to pseudo-random number generation, namely Commons RNG, that may be a better choice for applications with more stringent requirements (performance and/or correctness).
- Since:
- 3.3
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionRandomUtils
instances should NOT be constructed in standard programming. -
Method Summary
Modifier and TypeMethodDescriptionstatic boolean
Returns a random boolean valuestatic byte[]
nextBytes
(int count) Creates an array of random bytes.static double
Returns a random double within 0 - Double.MAX_VALUEstatic double
nextDouble
(double startInclusive, double endExclusive) Returns a random double within the specified range.static float
Returns a random float within 0 - Float.MAX_VALUEstatic float
nextFloat
(float startInclusive, float endExclusive) Returns a random float within the specified range.static int
nextInt()
Returns a random int within 0 - Integer.MAX_VALUEstatic int
nextInt
(int startInclusive, int endExclusive) Returns a random integer within the specified range.static long
nextLong()
Returns a random long within 0 - Long.MAX_VALUEprivate static long
nextLong
(long n) Generates along
value between 0 (inclusive) and the specified value (exclusive).static long
nextLong
(long startInclusive, long endExclusive) Returns a random long within the specified range.
-
Field Details
-
RANDOM
Random object used by random method. This has to be not local to the random method so as to not return the same value in the same millisecond.
-
-
Constructor Details
-
RandomUtils
public RandomUtils()RandomUtils
instances should NOT be constructed in standard programming. Instead, the class should be used asRandomUtils.nextBytes(5);
.This constructor is public to permit tools that require a JavaBean instance to operate.
-
-
Method Details
-
nextBoolean
public static boolean nextBoolean()Returns a random boolean value
- Returns:
- the random boolean
- Since:
- 3.5
-
nextBytes
public static byte[] nextBytes(int count) Creates an array of random bytes.
- Parameters:
count
- the size of the returned array- Returns:
- the random byte array
- Throws:
IllegalArgumentException
- ifcount
is negative
-
nextInt
public static int nextInt(int startInclusive, int endExclusive) Returns a random integer within the specified range.
- Parameters:
startInclusive
- the smallest value that can be returned, must be non-negativeendExclusive
- the upper bound (not included)- Returns:
- the random integer
- Throws:
IllegalArgumentException
- ifstartInclusive > endExclusive
or ifstartInclusive
is negative
-
nextInt
public static int nextInt()Returns a random int within 0 - Integer.MAX_VALUE
- Returns:
- the random integer
- Since:
- 3.5
- See Also:
-
nextLong
public static long nextLong(long startInclusive, long endExclusive) Returns a random long within the specified range.
- Parameters:
startInclusive
- the smallest value that can be returned, must be non-negativeendExclusive
- the upper bound (not included)- Returns:
- the random long
- Throws:
IllegalArgumentException
- ifstartInclusive > endExclusive
or ifstartInclusive
is negative
-
nextLong
public static long nextLong()Returns a random long within 0 - Long.MAX_VALUE
- Returns:
- the random long
- Since:
- 3.5
- See Also:
-
nextLong
private static long nextLong(long n) Generates along
value between 0 (inclusive) and the specified value (exclusive).- Parameters:
n
- Bound on the random number to be returned. Must be positive.- Returns:
- a random
long
value between 0 (inclusive) andn
(exclusive).
-
nextDouble
public static double nextDouble(double startInclusive, double endExclusive) Returns a random double within the specified range.
- Parameters:
startInclusive
- the smallest value that can be returned, must be non-negativeendExclusive
- the upper bound (not included)- Returns:
- the random double
- Throws:
IllegalArgumentException
- ifstartInclusive > endExclusive
or ifstartInclusive
is negative
-
nextDouble
public static double nextDouble()Returns a random double within 0 - Double.MAX_VALUE
- Returns:
- the random double
- Since:
- 3.5
- See Also:
-
nextFloat
public static float nextFloat(float startInclusive, float endExclusive) Returns a random float within the specified range.
- Parameters:
startInclusive
- the smallest value that can be returned, must be non-negativeendExclusive
- the upper bound (not included)- Returns:
- the random float
- Throws:
IllegalArgumentException
- ifstartInclusive > endExclusive
or ifstartInclusive
is negative
-
nextFloat
public static float nextFloat()Returns a random float within 0 - Float.MAX_VALUE
- Returns:
- the random float
- Since:
- 3.5
- See Also:
-