diff --git a/CHANGELOG.md b/CHANGELOG.md index bb0310d47..370e2162a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,7 +3,7 @@ ------------------------------------------------------------------------------------------------------------- -# 5.7.20 (2022-01-15) +# 5.7.20 (2022-01-16) ### 🐣新特性 * 【core 】 增加对null值友好的groupingBy操作的Collector实现,可指定map类型(pr#498@Gitee) @@ -14,6 +14,7 @@ * 【db 】 增加单条数据原生upsert语义支持(pr#501@Gitee) * 【core 】 在CollectorUtil提交Collectors.toMap的对null友好实现,避免NPE(pr#502@Gitee) * 【http 】 增加HttpGlobalConfig.setIgnoreEOFError(issue#2092@Github) +* 【core 】 RandomUtil.randomStringWithoutStr排除字符串兼容大写字母(pr#503@Gitee) * ### 🐞Bug修复 * 【core 】 修复setter重载导致匹配错误(issue#2082@Github) 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 3e1db16a0..2c415b386 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,7 +14,13 @@ import java.math.BigDecimal; import java.math.RoundingMode; import java.security.NoSuchAlgorithmException; import java.security.SecureRandom; -import java.util.*; +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.concurrent.ThreadLocalRandom; /** @@ -510,15 +516,15 @@ public class RandomUtil { } /** - * 获得一个随机的字符串(只包含数字和字符) 并排除指定字符串 + * 获得一个随机的字符串(只包含数字和小写字母) 并排除指定字符串 * * @param length 字符串的长度 - * @param elemData 要排除的字符串,如:去重容易混淆的字符串,oO0、lL1、q9Q、pP + * @param elemData 要排除的字符串,如:去重容易混淆的字符串,oO0、lL1、q9Q、pP,不区分大小写 * @return 随机字符串 */ public static String randomStringWithoutStr(int length, String elemData) { String baseStr = BASE_CHAR_NUMBER; - baseStr = StrUtil.removeAll(baseStr, elemData.toLowerCase(Locale.ROOT).toCharArray()); + baseStr = StrUtil.removeAll(baseStr, elemData.toLowerCase().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 1472dcd79..e61e5bcbf 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 @@ -60,7 +60,9 @@ public class RandomUtilTest { char c = RandomUtil.randomChinese(); Assert.assertTrue(c > 0); } + @Test + @Ignore public void randomStringWithoutStrTest() { for (int i = 0; i < 100; i++) { final String s = RandomUtil.randomStringWithoutStr(8, "0IPOL");