diff --git a/CHANGELOG.md b/CHANGELOG.md index c020bb748..5dd8b4115 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,7 @@ ### 🐞Bug修复 * 【crypto】 修复NoSuchMethodError未捕获问题(issue#2966@Github) * 【poi 】 修复SXSSFWorkbook调用setComment时错位的问题(issue#I6MBS5@Gitee) +* 【core 】 修复BeanUtil.hasGetter没有跳过getClass方法的问题(issue#I6MBS5@Gitee) ------------------------------------------------------------------------------------------------------------- # 5.8.15 (2023-03-09) diff --git a/hutool-core/src/main/java/cn/hutool/core/bean/BeanUtil.java b/hutool-core/src/main/java/cn/hutool/core/bean/BeanUtil.java index f1918874f..e919ad21c 100755 --- a/hutool-core/src/main/java/cn/hutool/core/bean/BeanUtil.java +++ b/hutool-core/src/main/java/cn/hutool/core/bean/BeanUtil.java @@ -114,8 +114,11 @@ public class BeanUtil { if (ClassUtil.isNormalClass(clazz)) { for (Method method : clazz.getMethods()) { if (method.getParameterCount() == 0) { - if (method.getName().startsWith("get") || method.getName().startsWith("is")) { - return true; + final String name = method.getName(); + if (name.startsWith("get") || name.startsWith("is")) { + if(false == "getClass".equals(name)){ + return true; + } } } } diff --git a/hutool-core/src/test/java/cn/hutool/core/bean/BeanUtilTest.java b/hutool-core/src/test/java/cn/hutool/core/bean/BeanUtilTest.java index dace87dc1..d8d969aef 100755 --- a/hutool-core/src/test/java/cn/hutool/core/bean/BeanUtilTest.java +++ b/hutool-core/src/test/java/cn/hutool/core/bean/BeanUtilTest.java @@ -918,4 +918,11 @@ public class BeanUtilTest { userEntity.setSex(0); Assert.assertTrue(BeanUtil.isCommonFieldsEqual(userDTO, userEntity, "age", "sex")); } + + @Test + public void hasGetterTest() { + // https://gitee.com/dromara/hutool/issues/I6M7Z7 + final boolean b = BeanUtil.hasGetter(Object.class); + Assert.assertFalse(b); + } }