From 41141cd824476cf61d2d3058149c0337e0b32bbe Mon Sep 17 00:00:00 2001 From: Looly Date: Sat, 14 Jun 2025 19:02:25 +0800 Subject: [PATCH] gts --- CHANGELOG.md | 1 + .../java/cn/hutool/core/util/ClassUtil.java | 4 ++- .../cn/hutool/poi/excel/Issue3965Test.java | 28 +++++++++++++++++++ 3 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 hutool-poi/src/test/java/cn/hutool/poi/excel/Issue3965Test.java diff --git a/CHANGELOG.md b/CHANGELOG.md index d3f79ebe0..788e44831 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,7 @@ * 【core 】 修复`LunarFestival`中重复节日问题(issue#ICC8X3@Gitee) * 【core 】 修复`ThreadUtil`中中断异常处理丢失中断信息的问题,解决ConcurrencyTester资源未释放的问题(pr#1358@Gitee) * 【core 】 修复`TEL_400_800`正则规则太窄问题(issue#3967@Github) +* 【core 】 修复`ClassUti`isNormalClass判断未排除String问题(issue#3965@Github) ------------------------------------------------------------------------------------------------------------- # 5.8.38(2025-05-13) diff --git a/hutool-core/src/main/java/cn/hutool/core/util/ClassUtil.java b/hutool-core/src/main/java/cn/hutool/core/util/ClassUtil.java index 0d7479b5e..87e5c7913 100755 --- a/hutool-core/src/main/java/cn/hutool/core/util/ClassUtil.java +++ b/hutool-core/src/main/java/cn/hutool/core/util/ClassUtil.java @@ -917,7 +917,9 @@ public class ClassUtil { && false == clazz.isArray() // && false == clazz.isAnnotation() // && false == clazz.isSynthetic() // - && false == clazz.isPrimitive();// + && false == clazz.isPrimitive()// + // issue#3965 String有isEmpty方法,但是不能被当作bean + && clazz != String.class;// } /** diff --git a/hutool-poi/src/test/java/cn/hutool/poi/excel/Issue3965Test.java b/hutool-poi/src/test/java/cn/hutool/poi/excel/Issue3965Test.java new file mode 100644 index 000000000..8c8ed8bbe --- /dev/null +++ b/hutool-poi/src/test/java/cn/hutool/poi/excel/Issue3965Test.java @@ -0,0 +1,28 @@ +package cn.hutool.poi.excel; + +import cn.hutool.core.collection.ListUtil; +import cn.hutool.core.io.FileUtil; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +import java.util.ArrayList; +import java.util.List; + +public class Issue3965Test { + @Test + @Disabled + void writeTest() { + ArrayList> arrayList = new ArrayList<>(); + + arrayList.add(ListUtil.of("a")); + arrayList.add(ListUtil.of("b")); + arrayList.add(ListUtil.of("c")); + arrayList.add(ListUtil.of("d")); + + ExcelWriter writer = ExcelUtil.getWriter(FileUtil.file("d:/test/123.xlsx")); + writer.setColumnWidth(0, 50); + writer.write(arrayList); + writer.flush(); + writer.close(); + } +}