mirror of
https://gitee.com/dromara/hutool.git
synced 2025-04-05 17:37:59 +08:00
修复BeanUtil.isBean判断Dict错误问题
This commit is contained in:
parent
99cf24267f
commit
7a6ab19649
@ -2,7 +2,7 @@
|
||||
# 🚀Changelog
|
||||
|
||||
-------------------------------------------------------------------------------------------------------------
|
||||
# 5.8.29(2024-06-04)
|
||||
# 5.8.29(2024-06-07)
|
||||
|
||||
### 🐣新特性
|
||||
* 【core 】 DateUtil增加offsetYear方法
|
||||
@ -11,6 +11,7 @@
|
||||
|
||||
### 🐞Bug修复
|
||||
* 【core 】 修复AnnotationUtil可能的空指针错误
|
||||
* 【core 】 修复BeanUtil.isBean判断Dict错误问题(issue#I9VTZG@gitee)
|
||||
|
||||
-------------------------------------------------------------------------------------------------------------
|
||||
# 5.8.28(2024-05-29)
|
||||
|
@ -6,6 +6,7 @@ import cn.hutool.core.bean.copier.ValueProvider;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.collection.ListUtil;
|
||||
import cn.hutool.core.convert.Convert;
|
||||
import cn.hutool.core.lang.Dict;
|
||||
import cn.hutool.core.lang.Editor;
|
||||
import cn.hutool.core.map.CaseInsensitiveMap;
|
||||
import cn.hutool.core.map.MapUtil;
|
||||
@ -74,6 +75,14 @@ public class BeanUtil {
|
||||
* @since 4.2.2
|
||||
*/
|
||||
public static boolean hasSetter(Class<?> clazz) {
|
||||
if(null == clazz){
|
||||
return false;
|
||||
}
|
||||
// issue#I9VTZG,排除定义setXXX的预定义类
|
||||
if(Dict.class == clazz){
|
||||
return false;
|
||||
}
|
||||
|
||||
if (ClassUtil.isNormalClass(clazz)) {
|
||||
for (Method method : clazz.getMethods()) {
|
||||
if (method.getParameterCount() == 1 && method.getName().startsWith("set")) {
|
||||
@ -117,6 +126,9 @@ public class BeanUtil {
|
||||
* @since 5.1.0
|
||||
*/
|
||||
public static boolean hasPublicField(Class<?> clazz) {
|
||||
if(null == clazz){
|
||||
return false;
|
||||
}
|
||||
if (ClassUtil.isNormalClass(clazz)) {
|
||||
for (Field field : clazz.getFields()) {
|
||||
if (ModifierUtil.isPublic(field) && false == ModifierUtil.isStatic(field)) {
|
||||
|
@ -5,6 +5,8 @@ import cn.hutool.core.bean.copier.CopyOptions;
|
||||
import cn.hutool.core.bean.copier.ValueProvider;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.collection.ListUtil;
|
||||
import cn.hutool.core.lang.Console;
|
||||
import cn.hutool.core.lang.Dict;
|
||||
import cn.hutool.core.map.MapBuilder;
|
||||
import cn.hutool.core.map.MapUtil;
|
||||
import cn.hutool.core.thread.ThreadUtil;
|
||||
@ -925,4 +927,10 @@ public class BeanUtilTest {
|
||||
final boolean b = BeanUtil.hasGetter(Object.class);
|
||||
Assert.assertFalse(b);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void issueI9VTZGTest() {
|
||||
final boolean bean = BeanUtil.isBean(Dict.class);
|
||||
Assert.assertFalse(bean);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user