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
ConstructorsConstructorDescriptionRandomUtilsinstances should NOT be constructed in standard programming. -
Method Summary
Modifier and TypeMethodDescriptionstatic booleanReturns a random boolean valuestatic byte[]nextBytes(int count) Creates an array of random bytes.static doubleReturns a random double within 0 - Double.MAX_VALUEstatic doublenextDouble(double startInclusive, double endExclusive) Returns a random double within the specified range.static floatReturns a random float within 0 - Float.MAX_VALUEstatic floatnextFloat(float startInclusive, float endExclusive) Returns a random float within the specified range.static intnextInt()Returns a random int within 0 - Integer.MAX_VALUEstatic intnextInt(int startInclusive, int endExclusive) Returns a random integer within the specified range.static longnextLong()Returns a random long within 0 - Long.MAX_VALUEprivate static longnextLong(long n) Generates alongvalue between 0 (inclusive) and the specified value (exclusive).static longnextLong(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()RandomUtilsinstances 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- ifcountis 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 > endExclusiveor ifstartInclusiveis 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 > endExclusiveor ifstartInclusiveis 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 alongvalue between 0 (inclusive) and the specified value (exclusive).- Parameters:
n- Bound on the random number to be returned. Must be positive.- Returns:
- a random
longvalue 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 > endExclusiveor ifstartInclusiveis 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 > endExclusiveor ifstartInclusiveis negative
-
nextFloat
public static float nextFloat()Returns a random float within 0 - Float.MAX_VALUE
- Returns:
- the random float
- Since:
- 3.5
- See Also:
-