From bb99a68608b78524a078a24d9e9555c37c02a2aa Mon Sep 17 00:00:00 2001 From: shad0wm00n Date: Thu, 25 Dec 2025 01:29:09 +0800 Subject: [PATCH] =?UTF-8?q?fix=20issue=20IDFNHE=EF=BC=8C=E5=A2=9E=E5=BC=BA?= =?UTF-8?q?=20CharUtil=20=E7=B1=BB=E4=B8=AD=E7=9A=84=20toCloseByNumber(int?= =?UTF-8?q?=20number)=20=E6=96=B9=E6=B3=95=E7=9A=84=E8=BE=B9=E7=95=8C?= =?UTF-8?q?=E6=A3=80=E6=9F=A5=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/cn/hutool/core/util/CharUtil.java | 2 +- .../src/test/java/cn/hutool/core/util/CharUtilTest.java | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) 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)); + } }