diff --git a/hutool-core/src/main/java/cn/hutool/core/util/CharUtil.java b/hutool-core/src/main/java/cn/hutool/core/util/CharUtil.java index 3461d0cebf..eae26a71d5 100644 --- a/hutool-core/src/main/java/cn/hutool/core/util/CharUtil.java +++ b/hutool-core/src/main/java/cn/hutool/core/util/CharUtil.java @@ -385,7 +385,7 @@ public class CharUtil implements CharPool { * @since 5.6.2 */ public static char toCloseByNumber(int number) { - if (number > 20) { + if (number < 1 || number > 20) { throw new IllegalArgumentException("Number must be [1-20]"); } return (char) ('①' + number - 1); diff --git a/hutool-core/src/test/java/cn/hutool/core/util/CharUtilTest.java b/hutool-core/src/test/java/cn/hutool/core/util/CharUtilTest.java index a1d732111d..89b57d3ef8 100644 --- a/hutool-core/src/test/java/cn/hutool/core/util/CharUtilTest.java +++ b/hutool-core/src/test/java/cn/hutool/core/util/CharUtilTest.java @@ -71,4 +71,11 @@ public class CharUtilTest { c = '\u2800'; assertTrue(CharUtil.isBlankChar(c)); } + + @Test + public void issueIDFNHETest(){ + //Console.log(CharUtil.toCloseByNumber(0)); //此时会打印"⑟" + assertThrows(IllegalArgumentException.class, () -> CharUtil.toCloseByNumber(0)); + assertThrows(IllegalArgumentException.class, () -> CharUtil.toCloseByNumber(-1)); + } }