36. Getting a legacy pseudo-random generator from new ones of JDK 17
A legacy pseudo-random generator such as Random
, SecureRandom
, or ThreadLocalRandom
can delegate method calls to a RandomGenerator
, passed as an argument to Random.from()
, SecureRandom.from()
, or ThreadLocalRandom.from()
, as follows:
Random legacyRnd = Random.from(
RandomGenerator.of("L128X256MixRandom"));
// or, like his
Random legacyRnd = Random.from(RandomGeneratorFactory.
of("Xoroshiro128PlusPlus").create());
// or, like this
Random legacyRnd = Random.from(RandomGeneratorFactory
.<RandomGenerator.SplittableGenerator>of(
"L128X256MixRandom").create());
The from()
methods are available starting with JDK 19. In the bundled code, you can see more examples.