From cacf025b2fd27b67964f31fed1d23d743a8eb12a Mon Sep 17 00:00:00 2001 From: dream <52assert@gmail.com> Date: Sun, 16 Jan 2022 00:09:44 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=AF=B9RandomUtil.randomStringWithoutS?= =?UTF-8?q?tr=E6=8E=92=E9=99=A4=E5=AD=97=E7=AC=A6=E4=B8=B2=E5=85=BC?= =?UTF-8?q?=E5=AE=B9=E5=A4=A7=E5=86=99=E5=AD=97=E6=AF=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/cn/hutool/core/util/RandomUtil.java | 10 ++-------- .../test/java/cn/hutool/core/util/RandomUtilTest.java | 11 +++++++++++ 2 files changed, 13 insertions(+), 8 deletions(-) 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)))); + } + } + } }