Class ThreadLocalRandom

    • Constructor Detail

      • 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 Detail

      • current

        public static ThreadLocalRandom current()
        Returns the current thread's ThreadLocalRandom.
        Returns:
        the current thread's ThreadLocalRandom
      • setSeed

        public void setSeed​(long seed)
        Throws UnsupportedOperationException. Setting seeds in this generator is not supported.
        Overrides:
        setSeed in class Random
        Throws:
        UnsupportedOperationException - always
      • next

        protected int next​(int bits)
        Overrides:
        next in class Random
      • 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 returned
        bound - 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 returned
        bound - 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 distributed double 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
      • 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 returned
        bound - the upper bound (exclusive)
        Returns:
        the next value
        Throws:
        IllegalArgumentException - if least greater than or equal to bound