Interface RandomGenerator
Utilisez l'interface RandomGenerator pour choisir des algorithmes de nombres aléatoires par nom sans se coupler à une classe spécifique.
// Hard-coded to one algorithm
Random rng = new Random();
int value = rng.nextInt(100);
// Or thread-local, but still locked in
int value = ThreadLocalRandom.current()
.nextInt(100);
// Algorithm-agnostic via factory
var rng = RandomGenerator.of("L64X128MixRandom");
int value = rng.nextInt(100);
// Or get a splittable generator
var rng = RandomGeneratorFactory
.of("L64X128MixRandom").create();
Agnostique à l'algorithme
Choisissez le meilleur algorithme de génération aléatoire par nom sans changer la structure du code.
Meilleurs algorithmes
Accès aux générateurs LXM modernes avec des propriétés statistiques supérieures.
API unifiée
Une interface couvre Random, ThreadLocalRandom, SplittableRandom et plus.
Disponible depuis JDK 17 (septembre 2021, JEP 356).
JDK 17 a introduit RandomGenerator comme interface commune pour toutes les implémentations de générateurs de nombres aléatoires. Au lieu de coder en dur new Random() ou ThreadLocalRandom, vous pouvez sélectionner des algorithmes par nom via une factory, facilitant le changement entre des algorithmes optimisés pour différents cas d'utilisation (vitesse, qualité statistique, divisibilité).