diff --git a/hutool-core/src/main/java/cn/hutool/core/lang/WeightRandom.java b/hutool-core/src/main/java/cn/hutool/core/lang/WeightRandom.java index fd5f4dd0e..346232860 100644 --- a/hutool-core/src/main/java/cn/hutool/core/lang/WeightRandom.java +++ b/hutool-core/src/main/java/cn/hutool/core/lang/WeightRandom.java @@ -32,7 +32,7 @@ public class WeightRandom implements Serializable { private static final long serialVersionUID = -8244697995702786499L; private final TreeMap weightMap; - private final Random random; + /** * 创建权重随机获取器 @@ -50,7 +50,7 @@ public class WeightRandom implements Serializable { */ public WeightRandom() { weightMap = new TreeMap<>(); - random = RandomUtil.getRandom(); + } /** @@ -141,6 +141,7 @@ public class WeightRandom implements Serializable { if(MapUtil.isEmpty(this.weightMap)) { return null; } + final Random random = RandomUtil.getRandom(); final double randomWeight = this.weightMap.lastKey() * random.nextDouble(); final SortedMap tailMap = this.weightMap.tailMap(randomWeight, false); return this.weightMap.get(tailMap.firstKey());