From d3f29fad02c6c39bf6a341a2ff1bb715e9db8944 Mon Sep 17 00:00:00 2001 From: Looly Date: Wed, 22 Feb 2023 19:20:03 +0800 Subject: [PATCH] fix bug --- .../core/bean/copier/MapToBeanCopier.java | 13 +----------- .../cn/hutool/core/bean/BeanUtilTest.java | 7 +++++-- .../java/cn/hutool/json/IssueI6H0XFTest.java | 20 +++++++++++++++++++ 3 files changed, 26 insertions(+), 14 deletions(-) create mode 100644 hutool-json/src/test/java/cn/hutool/json/IssueI6H0XFTest.java diff --git a/hutool-core/src/main/java/cn/hutool/core/bean/copier/MapToBeanCopier.java b/hutool-core/src/main/java/cn/hutool/core/bean/copier/MapToBeanCopier.java index 7547671a3..f1e978675 100755 --- a/hutool-core/src/main/java/cn/hutool/core/bean/copier/MapToBeanCopier.java +++ b/hutool-core/src/main/java/cn/hutool/core/bean/copier/MapToBeanCopier.java @@ -115,17 +115,6 @@ public class MapToBeanCopier extends AbsCopier, T> { // 转驼峰尝试查找 sKeyStr = StrUtil.toCamelCase(sKeyStr); propDesc = targetPropDescMap.get(sKeyStr); - if(null != propDesc){ - return propDesc; - } - - // boolean类型参数名转换尝试查找 - if(sKeyStr.startsWith("is")){ - sKeyStr = StrUtil.removePreAndLowerFirst(sKeyStr, 2); - propDesc = targetPropDescMap.get(sKeyStr); - return propDesc; - } - - return null; + return propDesc; } } 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 b942451d0..aef2b879d 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 @@ -261,8 +261,11 @@ public class BeanUtilTest { final SubPersonWithAlias subPersonWithAlias = BeanUtil.toBean(map, SubPersonWithAlias.class); Assert.assertEquals("sub名字", subPersonWithAlias.getSubName()); - Assert.assertTrue(subPersonWithAlias.isBooleana()); - Assert.assertEquals(true, subPersonWithAlias.getBooleanb()); + + // https://gitee.com/dromara/hutool/issues/I6H0XF + // is_booleana并不匹配booleana字段 + Assert.assertFalse(subPersonWithAlias.isBooleana()); + Assert.assertNull(subPersonWithAlias.getBooleanb()); } @Test diff --git a/hutool-json/src/test/java/cn/hutool/json/IssueI6H0XFTest.java b/hutool-json/src/test/java/cn/hutool/json/IssueI6H0XFTest.java new file mode 100644 index 000000000..a77e680b6 --- /dev/null +++ b/hutool-json/src/test/java/cn/hutool/json/IssueI6H0XFTest.java @@ -0,0 +1,20 @@ +package cn.hutool.json; + +import lombok.Data; +import org.junit.Assert; +import org.junit.Test; + +public class IssueI6H0XFTest { + + @Test + public void toBeanTest(){ + final Demo demo = JSONUtil.toBean("{\"biz\":\"A\",\"isBiz\":true}", Demo.class); + Assert.assertEquals("A", demo.getBiz()); + Assert.assertEquals("{\"biz\":\"A\"}", JSONUtil.toJsonStr(demo)); + } + + @Data + static class Demo { + String biz; + } +}