Files
spring-boot-rest/java-numbers-4/src/main/java/com/baeldung/probability/RandomInvoker.java
2020-08-06 00:08:27 +02:00

20 lines
552 B
Java

package com.baeldung.probability;
import io.vavr.Lazy;
import java.util.SplittableRandom;
import java.util.function.Supplier;
public class RandomInvoker {
private final Lazy<SplittableRandom> random = Lazy.of(SplittableRandom::new);
public <T> T withProbability(Supplier<T> supplier1, Supplier<T> supplier2, int probability) {
SplittableRandom random = this.random.get();
if (random.nextInt(1, 101) <= probability) {
return supplier1.get();
} else {
return supplier2.get();
}
}
}