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 6fe603ec66..0a59c1a799 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]); 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 c216a61f0e..43dca2f4c9 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(), "小明"); + } }