From 2e628b08c5e0cf510a2bb970f3423ed2875bedc3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=94=B3=E5=8A=AD=E6=98=8E?= <626546063@qq.com> Date: Thu, 5 Aug 2021 06:09:50 +0000 Subject: [PATCH 1/2] fix bug #I4402K --- hutool-core/src/main/java/cn/hutool/core/map/MapProxy.java | 1 + 1 file changed, 1 insertion(+) diff --git a/hutool-core/src/main/java/cn/hutool/core/map/MapProxy.java b/hutool-core/src/main/java/cn/hutool/core/map/MapProxy.java index 6fe603ec6..0a59c1a79 100644 --- a/hutool-core/src/main/java/cn/hutool/core/map/MapProxy.java +++ b/hutool-core/src/main/java/cn/hutool/core/map/MapProxy.java @@ -155,6 +155,7 @@ public class MapProxy implements Map, OptNullBasicTypeFromObject final String fieldName = StrUtil.removePreAndLowerFirst(methodName, 3); if (StrUtil.isNotBlank(fieldName)) { this.put(fieldName, args[0]); + return proxy; } } else if ("equals".equals(methodName)) { return this.equals(args[0]); From 844c4be0bf8dce93eeb3c7b7bde838f9cec4a59a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=94=B3=E5=8A=AD=E6=98=8E?= <626546063@qq.com> Date: Thu, 5 Aug 2021 06:10:50 +0000 Subject: [PATCH 2/2] add test for mapProxy --- .../cn/hutool/core/collection/MapProxyTest.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/hutool-core/src/test/java/cn/hutool/core/collection/MapProxyTest.java b/hutool-core/src/test/java/cn/hutool/core/collection/MapProxyTest.java index c216a61f0..43dca2f4c 100644 --- a/hutool-core/src/test/java/cn/hutool/core/collection/MapProxyTest.java +++ b/hutool-core/src/test/java/cn/hutool/core/collection/MapProxyTest.java @@ -28,4 +28,20 @@ public class MapProxyTest { Set> entrys = mapProxy.entrySet(); Assert.assertFalse(entrys.isEmpty()); } + + private interface Student { + Student setName(String name); + Student setAge(int age); + + String getName(); + int getAge(); + } + + @Test + public void classProxyTest() { + Student student = MapProxy.create(new HashMap<>()).toProxyBean(Student.class); + student.setName("小明").setAge(18); + Assert.assertEquals(student.getAge(), 18); + Assert.assertEquals(student.getName(), "小明"); + } }