diff --git a/hutool-core/src/main/java/cn/hutool/core/util/RandomUtil.java b/hutool-core/src/main/java/cn/hutool/core/util/RandomUtil.java index 8d77384e7..3e1db16a0 100644 --- a/hutool-core/src/main/java/cn/hutool/core/util/RandomUtil.java +++ b/hutool-core/src/main/java/cn/hutool/core/util/RandomUtil.java @@ -14,13 +14,7 @@ import java.math.BigDecimal; import java.math.RoundingMode; import java.security.NoSuchAlgorithmException; import java.security.SecureRandom; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Date; -import java.util.LinkedHashSet; -import java.util.List; -import java.util.Random; -import java.util.Set; +import java.util.*; import java.util.concurrent.ThreadLocalRandom; /** @@ -524,7 +518,7 @@ public class RandomUtil { */ public static String randomStringWithoutStr(int length, String elemData) { String baseStr = BASE_CHAR_NUMBER; - baseStr = StrUtil.removeAll(baseStr, elemData.toCharArray()); + baseStr = StrUtil.removeAll(baseStr, elemData.toLowerCase(Locale.ROOT).toCharArray()); return randomString(baseStr, length); } diff --git a/hutool-core/src/test/java/cn/hutool/core/util/RandomUtilTest.java b/hutool-core/src/test/java/cn/hutool/core/util/RandomUtilTest.java index 978fcd2ed..1472dcd79 100644 --- a/hutool-core/src/test/java/cn/hutool/core/util/RandomUtilTest.java +++ b/hutool-core/src/test/java/cn/hutool/core/util/RandomUtilTest.java @@ -8,6 +8,7 @@ import org.junit.Test; import java.math.RoundingMode; import java.util.List; +import java.util.Locale; import java.util.Set; public class RandomUtilTest { @@ -59,4 +60,14 @@ public class RandomUtilTest { char c = RandomUtil.randomChinese(); Assert.assertTrue(c > 0); } + @Test + public void randomStringWithoutStrTest() { + for (int i = 0; i < 100; i++) { + final String s = RandomUtil.randomStringWithoutStr(8, "0IPOL"); + System.out.println(s); + for (char c : "0IPOL".toCharArray()) { + Assert.assertFalse(s.contains((String.valueOf(c).toLowerCase(Locale.ROOT)))); + } + } + } }