Класс ThreadLocalRandom
- Все реализуемые интерфейсы:
Serializable, RandomGenerator
public final class ThreadLocalRandom extends Random
Random, используемому классом Math, объект ThreadLocalRandom инициализируется внутренне сгенерированным начальным значением, которое впоследствии нельзя изменить. В многопоточных программах использование ThreadLocalRandom вместо общих объектов Random обычно сопряжено со значительно меньшими накладными расходами и конкуренцией за ресурсы. Использование ThreadLocalRandom особенно уместно, когда несколько задач (например, каждая из которых является ForkJoinTask) параллельно генерируют случайные числа в пулах потоков. Обычно этот класс используют следующим образом: ThreadLocalRandom.current().nextX(...) (где X — это Int, Long и т. д.). Если все обращения выполняются таким образом, случайно совместно использовать ThreadLocalRandom в нескольких потоках невозможно.
Этот класс также предоставляет дополнительные часто используемые методы генерации случайных чисел в заданном диапазоне.
Экземпляры ThreadLocalRandom не являются криптографически стойкими. Для приложений, чувствительных к безопасности, рекомендуется использовать SecureRandom. Кроме того, экземпляры, созданные конструктором по умолчанию, не используют криптографически случайное начальное значение, если системное свойство java.util.secureRandomSeed не установлено в true.
- С версии:
- 1.7
- См. также:
Краткое описание вложенных классов
Вложенные классы и интерфейсы, объявленные в интерфейсе RandomGenerator
RandomGenerator.ArbitrarilyJumpableGenerator, RandomGenerator.JumpableGenerator, RandomGenerator.LeapableGenerator, RandomGenerator.SplittableGenerator, RandomGenerator.StreamableGenerator | Модификатор и тип | Интерфейс | Описание |
|---|---|---|
static interface |
RandomGenerator.ArbitrarilyJumpableGenerator |
Этот интерфейс предназначен для определения общего протокола для объектов, генерирующих последовательности псевдослучайных значений и способных легко выполнять прыжок вперёд на произвольное расстояние до удалённой точки цикла состояний. |
static interface |
RandomGenerator.JumpableGenerator |
Этот интерфейс предназначен для определения общего протокола для объектов, генерирующих псевдослучайные значения и способных легко выполнять прыжок вперёд на умеренное расстояние (например, 264) до удалённой точки цикла состояний. |
static interface |
RandomGenerator.LeapableGenerator |
Этот интерфейс предназначен для определения общего протокола для объектов, генерирующих последовательности псевдослучайных значений и способных не только выполнять прыжок, но и делать скачок вперёд на большое расстояние (например, 2128) до очень удалённой точки цикла состояний. |
static interface |
RandomGenerator.SplittableGenerator |
Этот интерфейс предназначен для определения общего протокола для объектов, генерирующих последовательности псевдослучайных значений и допускающих разделение на два объекта (исходный и новый), каждый из которых следует тому же протоколу (и поэтому может рекурсивно разделяться неограниченное число раз). |
static interface |
RandomGenerator.StreamableGenerator |
Интерфейс RandomGenerator.StreamableGenerator расширяет интерфейс RandomGenerator, предоставляя методы, возвращающие потоки объектов RandomGenerator. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
static ThreadLocalRandom |
current() |
Возвращает объект ThreadLocalRandom текущего потока. |
DoubleStream |
doubles() |
Возвращает практически неограниченный поток псевдослучайных значений
double, каждое из которых находится в диапазоне от нуля (включительно) до единицы (не включительно). |
DoubleStream |
doubles |
Возвращает практически неограниченный поток псевдослучайных значений
double, каждое из которых соответствует заданному начальному значению (включительно) и верхней границе (не включительно). |
DoubleStream |
doubles |
Возвращает поток, содержащий заданное количество streamSize псевдослучайных значений double, каждое из которых находится в диапазоне от нуля (включительно) до единицы (не включительно). |
DoubleStream |
doubles |
Возвращает поток, содержащий заданное количество streamSize псевдослучайных значений double, каждое из которых соответствует заданному начальному значению (включительно) и верхней границе (не включительно). |
IntStream |
ints() |
Возвращает практически неограниченный поток псевдослучайных значений int. |
IntStream |
ints |
Возвращает практически неограниченный поток псевдослучайных значений
int, каждое из которых соответствует заданному начальному значению (включительно) и верхней границе (не включительно). |
IntStream |
ints |
Возвращает поток, содержащий заданное количество streamSize псевдослучайных значений int. |
IntStream |
ints |
Возвращает поток, содержащий заданное количество streamSize псевдослучайных значений int, каждое из которых соответствует заданному начальному значению (включительно) и верхней границе (не включительно). |
LongStream |
longs() |
Возвращает практически неограниченный поток псевдослучайных значений long. |
LongStream |
longs |
Возвращает поток, содержащий заданное количество streamSize псевдослучайных значений long. |
LongStream |
longs |
Возвращает практически неограниченный поток псевдослучайных значений
long, каждое из которых соответствует заданному начальному значению (включительно) и верхней границе (не включительно). |
LongStream |
longs |
Возвращает поток, содержащий заданное количество streamSize псевдослучайных значений long, каждое из которых соответствует заданному начальному значению (включительно) и верхней границе (не включительно). |
protected int |
next |
Генерирует псевдослучайное число с указанным количеством младших битов. |
double |
nextDouble |
Возвращает псевдослучайно выбранное значение double в диапазоне от нуля (включительно) до указанной верхней границы (не включительно). |
double |
nextDouble |
Возвращает псевдослучайно выбранное значение double в диапазоне от указанного начального значения (включительно) до указанной верхней границы (не включительно). |
float |
nextFloat |
Возвращает псевдослучайно выбранное значение float в диапазоне от нуля (включительно) до указанной верхней границы (не включительно). |
float |
nextFloat |
Возвращает псевдослучайно выбранное значение float в диапазоне от указанного начального значения (включительно) до указанной верхней границы (не включительно). |
double |
nextGaussian() |
Возвращает значение double, псевдослучайно выбранное из гауссовского (нормального) распределения со средним значением 0 и стандартным отклонением 1. |
int |
nextInt |
Возвращает псевдослучайное равномерно распределённое значение int в диапазоне от 0 (включительно) до указанного значения (не включительно), выбранное из последовательности этого генератора случайных чисел. |
int |
nextInt |
Возвращает псевдослучайно выбранное значение int в диапазоне от указанного начального значения (включительно) до указанной верхней границы (не включительно). |
long |
nextLong |
Возвращает псевдослучайно выбранное значение long в диапазоне от нуля (включительно) до указанной верхней границы (не включительно). |
long |
nextLong |
Возвращает псевдослучайно выбранное значение long в диапазоне от указанного начального значения (включительно) до указанной верхней границы (не включительно). |
void |
setSeed |
Выбрасывает UnsupportedOperationException. |
Методы, объявленные в классе Random
from, nextBoolean, nextBytes, nextDouble, nextFloat, nextInt, nextLong | Модификатор и тип | Метод | Описание |
|---|---|---|
static Random |
from |
Возвращает экземпляр Random, который делегирует вызовы методов аргументу RandomGenerator. |
boolean |
nextBoolean() |
Возвращает следующее псевдослучайное равномерно распределённое значение boolean из последовательности этого генератора случайных чисел. |
void |
nextBytes |
Генерирует случайные байты и помещает их в предоставленный пользователем массив байтов. |
double |
nextDouble() |
Возвращает следующее псевдослучайное равномерно распределённое значение double в диапазоне от 0.0 до 1.0 из последовательности этого генератора случайных чисел. |
float |
nextFloat() |
Возвращает следующее псевдослучайное равномерно распределённое значение float в диапазоне от 0.0 до 1.0 из последовательности этого генератора случайных чисел. |
int |
nextInt() |
Возвращает следующее псевдослучайное равномерно распределённое значение int из последовательности этого генератора случайных чисел. |
long |
nextLong() |
Возвращает следующее псевдослучайное равномерно распределённое значение long из последовательности этого генератора случайных чисел. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создаёт и возвращает копию этого объекта. |
boolean |
equals |
Показывает, равен ли этот объект какому-либо другому. |
protected void |
finalize() |
Устарело, подлежит удалению: этот элемент API будет удалён в будущей версии. Финализация устарела и будет удалена в одном из будущих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
int |
hashCode() |
Возвращает хеш-код этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
String |
toString() |
Возвращает строковое представление объекта. |
final void |
wait() |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо истечения заданного промежутка реального времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо истечения заданного промежутка реального времени. |
Методы, объявленные в интерфейсе RandomGenerator
equiDoubles, isDeprecated, nextExponential, nextGaussian | Модификатор и тип | Метод | Описание |
|---|---|---|
default DoubleStream |
equiDoubles |
Возвращает практически неограниченный поток псевдослучайно выбранных значений double, каждое из которых находится между указанной нижней границей left и указанной верхней границей right. |
default boolean |
isDeprecated() |
Возвращает true, если реализация RandomGenerator (алгоритм) помечена как устаревшая. |
default double |
nextExponential() |
Возвращает неотрицательное значение double, псевдослучайно выбранное из экспоненциального распределения со средним значением 1. |
default double |
nextGaussian |
Возвращает значение double, псевдослучайно выбранное из гауссовского (нормального) распределения со средним значением и стандартным отклонением, заданными аргументами. |
Подробное описание методов
current
public static ThreadLocalRandom current()
ThreadLocalRandom текущего потока. Методы этого объекта следует вызывать только из текущего потока, а не из других потоков.- Возвращает:
- объект
ThreadLocalRandomтекущего потока
setSeed
public void setSeed(long seed)
UnsupportedOperationException. Установка начальных значений для этого генератора не поддерживается.- Переопределяет:
-
setSeedв классеRandom - Параметры:
-
seed— значение начального параметра - Выбрасывает:
-
UnsupportedOperationException— всегда
next
protected int next(int bits)
nextInt
public int nextInt(int bound)
int от 0 (включительно) до указанного значения (исключительно), взятое из последовательности этого генератора случайных чисел. Общий контракт метода nextInt состоит в том, что одно значение int из указанного диапазона псевдослучайно генерируется и возвращается. Все bound возможные значения int генерируются с (приблизительно) равной вероятностью.- Определён в:
-
nextIntв интерфейсеRandomGenerator - Переопределяет:
-
nextIntв классеRandom - Параметры:
-
bound— верхняя граница (исключительно). Должна быть положительной. - Возвращает:
- следующее псевдослучайное равномерно распределённое значение
intот нуля (включительно) доbound(исключительно) из последовательности этого генератора случайных чисел - Выбрасывает:
-
IllegalArgumentException— если bound не является положительным
nextInt
public int nextInt(int origin, int bound)
int от указанного начала (включительно) до указанной границы (исключительно).- Параметры:
-
origin— наименьшее значение, которое может быть возвращено -
bound— верхняя граница (исключительно) возвращаемого значения - Возвращает:
- псевдослучайно выбранное значение
intот начала (включительно) до границы (исключительно) - Выбрасывает:
-
IllegalArgumentException— еслиoriginбольше или равноbound
nextLong
public long nextLong(long bound)
long от нуля (включительно) до указанной границы (исключительно).- Параметры:
-
bound— верхняя граница (исключительно) возвращаемого значения. Должна быть положительной. - Возвращает:
- псевдослучайно выбранное значение
longот нуля (включительно) до границы (исключительно) - Выбрасывает:
-
IllegalArgumentException— еслиboundне является положительным
nextLong
public long nextLong(long origin, long bound)
long от указанного начала (включительно) до указанной границы (исключительно).- Параметры:
-
origin— наименьшее значение, которое может быть возвращено -
bound— верхняя граница (исключительно) возвращаемого значения - Возвращает:
- псевдослучайно выбранное значение
longот начала (включительно) до границы (исключительно) - Выбрасывает:
-
IllegalArgumentException— еслиoriginбольше или равноbound
nextGaussian
public double nextGaussian()
double, псевдослучайно выбранное из гауссова (нормального) распределения со средним значением 0 и стандартным отклонением 1.- Определён в:
-
nextGaussianв интерфейсеRandomGenerator - Переопределяет:
-
nextGaussianв классеRandom - Примечание по реализации:
- В этой реализации вызывается реализация по умолчанию метода
RandomGenerator.nextGaussian(), поэтому используется быстрый модифицированный алгоритм зиггурат Макфарланда, а не полярный метод, описанный в суперклассе. - Возвращает:
- значение
double, псевдослучайно выбранное из гауссова распределения
nextFloat
public float nextFloat(float bound)
float от нуля (включительно) до указанной границы (исключительно).- Параметры:
-
bound— верхняя граница (исключительно) возвращаемого значения. Должна быть положительной и конечной - Возвращает:
- псевдослучайно выбранное значение
floatот нуля (включительно) до границы (исключительно) - Выбрасывает:
-
IllegalArgumentException— еслиboundне является одновременно положительным и конечным - Начиная с:
- 17
nextFloat
public float nextFloat(float origin, float bound)
float от указанного начала (включительно) до указанной границы (исключительно).- Параметры:
-
origin— наименьшее значение, которое может быть возвращено -
bound— верхняя граница (исключительно) - Возвращает:
- псевдослучайно выбранное значение
floatот начала (включительно) до границы (исключительно) - Выбрасывает:
-
IllegalArgumentException— еслиoriginне является конечным, илиboundне является конечным, илиoriginбольше или равноbound - Начиная с:
- 17
nextDouble
public double nextDouble(double bound)
double от нуля (включительно) до указанной границы (исключительно).- Параметры:
-
bound— верхняя граница (исключительно) возвращаемого значения. Должна быть положительной и конечной - Возвращает:
- псевдослучайно выбранное значение
doubleот нуля (включительно) до границы (исключительно) - Выбрасывает:
-
IllegalArgumentException— еслиboundне является одновременно положительным и конечным
nextDouble
public double nextDouble(double origin, double bound)
double от указанного начала (включительно) до указанной границы (исключительно).- Параметры:
-
origin— наименьшее значение, которое может быть возвращено -
bound— верхняя граница (исключительно) возвращаемого значения - Возвращает:
- псевдослучайно выбранное значение
doubleот начала (включительно) до границы (исключительно) - Выбрасывает:
-
IllegalArgumentException— еслиoriginне является конечным, илиboundне является конечным, илиoriginбольше или равноbound
ints
public IntStream ints(long streamSize)
streamSize псевдослучайных значений int. Псевдослучайное значение int генерируется так, как если бы оно было результатом вызова метода Random.nextInt().
- Определён в:
-
intsв интерфейсеRandomGenerator - Переопределяет:
-
intsв классеRandom - Параметры:
-
streamSize— количество генерируемых значений - Возвращает:
- поток псевдослучайных значений
int - Выбрасывает:
-
IllegalArgumentException— еслиstreamSizeменьше нуля - Начиная с:
- 1.8
ints
public IntStream ints()
int. Псевдослучайное значение int генерируется так, как если бы оно было результатом вызова метода Random.nextInt().
- Определён в:
-
intsв интерфейсеRandomGenerator - Переопределяет:
-
intsв классеRandom - Примечание по реализации:
- Этот метод реализован так, чтобы быть эквивалентным
ints(Long.MAX_VALUE). - Возвращает:
- поток псевдослучайных значений
int - Начиная с:
- 1.8
ints
public IntStream ints(long streamSize, int randomNumberOrigin, int randomNumberBound)
streamSize псевдослучайных значений int, каждое из которых соответствует заданным началу (включительно) и границе (исключительно). Псевдослучайное значение int генерируется так, как если бы оно было результатом вызова следующего метода с указанными началом и границей:
int nextInt(int origin, int bound) {
int n = bound - origin;
if (n > 0) {
return nextInt(n) + origin;
}
else { // range not representable as int
int r;
do {
r = nextInt();
} while (r < origin || r >= bound);
return r;
}
}
- Определён в:
-
intsв интерфейсеRandomGenerator - Переопределяет:
-
intsв классеRandom - Параметры:
-
streamSize— количество генерируемых значений -
randomNumberOrigin— начало (включительно) каждого случайного значения -
randomNumberBound— граница (исключительно) каждого случайного значения - Возвращает:
- поток псевдослучайных значений
int, каждое из которых имеет заданные начало (включительно) и границу (исключительно) - Выбрасывает:
-
IllegalArgumentException— еслиstreamSizeменьше нуля илиrandomNumberOriginбольше или равноrandomNumberBound - Начиная с:
- 1.8
ints
public IntStream ints(int randomNumberOrigin, int randomNumberBound)
int, каждое из которых соответствует заданным началу (включительно) и границе (исключительно). Псевдослучайное значение int генерируется так, как если бы оно было результатом вызова следующего метода с указанными началом и границей:
int nextInt(int origin, int bound) {
int n = bound - origin;
if (n > 0) {
return nextInt(n) + origin;
}
else { // range not representable as int
int r;
do {
r = nextInt();
} while (r < origin || r >= bound);
return r;
}
}
- Определён в:
-
intsв интерфейсеRandomGenerator - Переопределяет:
-
intsв классеRandom - Примечание по реализации:
- Этот метод реализован так, чтобы быть эквивалентным
ints(Long.MAX_VALUE, randomNumberOrigin, randomNumberBound). - Параметры:
-
randomNumberOrigin— начало (включительно) каждого случайного значения -
randomNumberBound— граница (исключительно) каждого случайного значения - Возвращает:
- поток псевдослучайных значений
int, каждое из которых имеет заданные начало (включительно) и границу (исключительно) - Выбрасывает:
-
IllegalArgumentException— еслиrandomNumberOriginбольше или равноrandomNumberBound - Начиная с:
- 1.8
longs
public LongStream longs(long streamSize)
streamSize псевдослучайных значений long. Псевдослучайное значение long генерируется так, как если бы оно было результатом вызова метода Random.nextLong().
- Определён в:
-
longsв интерфейсеRandomGenerator - Переопределяет:
-
longsв классеRandom - Параметры:
-
streamSize— количество генерируемых значений - Возвращает:
- поток псевдослучайных значений
long - Выбрасывает:
-
IllegalArgumentException— еслиstreamSizeменьше нуля - Начиная с:
- 1.8
longs
public LongStream longs()
long. Псевдослучайное значение long генерируется так, как если бы оно было результатом вызова метода Random.nextLong().
- Определён в:
-
longsв интерфейсеRandomGenerator - Переопределяет:
-
longsв классеRandom - Примечание по реализации:
- Этот метод реализован так, чтобы быть эквивалентным
longs(Long.MAX_VALUE). - Возвращает:
- поток псевдослучайных значений
long - Начиная с:
- 1.8
longs
public LongStream longs(long streamSize, long randomNumberOrigin, long randomNumberBound)
streamSize псевдослучайных значений long, каждое из которых соответствует заданным началу (включительно) и границе (исключительно). Псевдослучайное значение long генерируется так, как если бы оно было результатом вызова следующего метода с указанными началом и границей:
long nextLong(long origin, long bound) {
long r = nextLong();
long n = bound - origin, m = n - 1;
if ((n & m) == 0L) // power of two
r = (r & m) + origin;
else if (n > 0L) { // reject over-represented candidates
for (long u = r >>> 1; // ensure nonnegative
u + m - (r = u % n) < 0L; // rejection check
u = nextLong() >>> 1) // retry
;
r += origin;
}
else { // range not representable as long
while (r < origin || r >= bound)
r = nextLong();
}
return r;
}
- Определён в:
-
longsв интерфейсеRandomGenerator - Переопределяет:
-
longsв классеRandom - Параметры:
-
streamSize— количество генерируемых значений -
randomNumberOrigin— начало (включительно) каждого случайного значения -
randomNumberBound— граница (исключительно) каждого случайного значения - Возвращает:
- поток псевдослучайных значений
long, каждое из которых имеет заданные начало (включительно) и границу (исключительно) - Выбрасывает:
-
IllegalArgumentException— еслиstreamSizeменьше нуля илиrandomNumberOriginбольше или равноrandomNumberBound - Начиная с:
- 1.8
longs
public LongStream longs(long randomNumberOrigin, long randomNumberBound)
long, каждое из которых соответствует заданным началу (включительно) и границе (исключительно). Псевдослучайное значение long генерируется так, как если бы оно было результатом вызова следующего метода с указанными началом и границей:
long nextLong(long origin, long bound) {
long r = nextLong();
long n = bound - origin, m = n - 1;
if ((n & m) == 0L) // power of two
r = (r & m) + origin;
else if (n > 0L) { // reject over-represented candidates
for (long u = r >>> 1; // ensure nonnegative
u + m - (r = u % n) < 0L; // rejection check
u = nextLong() >>> 1) // retry
;
r += origin;
}
else { // range not representable as long
while (r < origin || r >= bound)
r = nextLong();
}
return r;
}
- Определён в:
-
longsв интерфейсеRandomGenerator - Переопределяет:
-
longsв классеRandom - Примечание по реализации:
- Этот метод реализован так, чтобы быть эквивалентным
longs(Long.MAX_VALUE, randomNumberOrigin, randomNumberBound). - Параметры:
-
randomNumberOrigin— начало (включительно) каждого случайного значения -
randomNumberBound— граница (исключительно) каждого случайного значения - Возвращает:
- поток псевдослучайных значений
long, каждое из которых имеет заданные начало (включительно) и границу (исключительно) - Выбрасывает:
-
IllegalArgumentException— еслиrandomNumberOriginбольше или равноrandomNumberBound - Начиная с:
- 1.8
doubles
public DoubleStream doubles(long streamSize)
streamSize псевдослучайных значений double, каждое из которых находится в диапазоне от нуля (включительно) до единицы (исключительно). Псевдослучайное значение double генерируется так, как если бы оно было результатом вызова метода Random.nextDouble().
- Определён в:
-
doublesв интерфейсеRandomGenerator - Переопределяет:
-
doublesв классеRandom - Параметры:
-
streamSize— количество генерируемых значений - Возвращает:
- поток значений
double - Выбрасывает:
-
IllegalArgumentException— еслиstreamSizeменьше нуля - Начиная с:
- 1.8
doubles
public DoubleStream doubles()
double, каждое из которых находится в диапазоне от нуля (включительно) до единицы (исключительно). Псевдослучайное значение double генерируется так, как если бы оно было результатом вызова метода Random.nextDouble().
- Определён в:
-
doublesв интерфейсеRandomGenerator - Переопределяет:
-
doublesв классеRandom - Примечание по реализации:
- Этот метод реализован так, чтобы быть эквивалентным
doubles(Long.MAX_VALUE). - Возвращает:
- поток псевдослучайных значений
double - Начиная с:
- 1.8
doubles
public DoubleStream doubles(long streamSize, double randomNumberOrigin, double randomNumberBound)
streamSize псевдослучайных значений double, каждое из которых соответствует заданным началу (включительно) и границе (исключительно).- Определён в:
-
doublesв интерфейсеRandomGenerator - Переопределяет:
-
doublesв классеRandom - Параметры:
-
streamSize— количество генерируемых значений -
randomNumberOrigin— начало (включительно) каждого случайного значения -
randomNumberBound— граница (исключительно) каждого случайного значения - Возвращает:
- поток псевдослучайных значений
double, каждое из которых имеет заданные начало (включительно) и границу (исключительно) - Выбрасывает:
-
IllegalArgumentException— еслиstreamSizeменьше нуля, илиrandomNumberOriginне является конечным, илиrandomNumberBoundне является конечным, илиrandomNumberOriginбольше или равноrandomNumberBound - Начиная с:
- 1.8
doubles
public DoubleStream doubles(double randomNumberOrigin, double randomNumberBound)
double, каждое из которых соответствует заданным началу (включительно) и границе (исключительно).- Определён в:
-
doublesв интерфейсеRandomGenerator - Переопределяет:
-
doublesв классеRandom - Примечание по реализации:
- Этот метод реализован так, чтобы быть эквивалентным
doubles(Long.MAX_VALUE, randomNumberOrigin, randomNumberBound). - Параметры:
-
randomNumberOrigin— начало (включительно) каждого случайного значения -
randomNumberBound— граница (исключительно) каждого случайного значения - Возвращает:
- поток псевдослучайных значений
double, каждое из которых имеет заданные начало (включительно) и границу (исключительно) - Выбрасывает:
-
IllegalArgumentException— еслиrandomNumberOriginне является конечным, илиrandomNumberBoundне является конечным, илиrandomNumberOriginбольше или равноrandomNumberBound - Начиная с:
- 1.8
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.