From 639206ca1a06b6bff24b18ee15249074fbc8cc6a Mon Sep 17 00:00:00 2001 From: Binary Wang Date: Sat, 29 Oct 2016 16:45:05 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8DBeanUtils=E5=B7=A5=E5=85=B7?= =?UTF-8?q?=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/me/chanjar/weixin/common/util/BeanUtils.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/weixin-java-common/src/main/java/me/chanjar/weixin/common/util/BeanUtils.java b/weixin-java-common/src/main/java/me/chanjar/weixin/common/util/BeanUtils.java index c73f1600..8935bc32 100644 --- a/weixin-java-common/src/main/java/me/chanjar/weixin/common/util/BeanUtils.java +++ b/weixin-java-common/src/main/java/me/chanjar/weixin/common/util/BeanUtils.java @@ -8,6 +8,8 @@ import me.chanjar.weixin.common.bean.result.WxError; import me.chanjar.weixin.common.exception.WxErrorException; import java.lang.reflect.Field; +import java.util.ArrayList; +import java.util.Arrays; import java.util.List; import java.util.Map; @@ -28,7 +30,9 @@ public class BeanUtils { public static void checkRequiredFields(Object bean) throws WxErrorException { List nullFields = Lists.newArrayList(); - for (Field field : bean.getClass().getDeclaredFields()) { + List fields = new ArrayList<>( Arrays.asList(bean.getClass().getDeclaredFields())); + fields.addAll(Arrays.asList(bean.getClass().getSuperclass().getDeclaredFields())); + for (Field field : fields) { try { boolean isAccessible = field.isAccessible(); field.setAccessible(true); @@ -55,7 +59,9 @@ public class BeanUtils { */ public static Map xmlBean2Map(Object bean) { Map result = Maps.newHashMap(); - for (Field field : bean.getClass().getDeclaredFields()) { + List fields = new ArrayList<>( Arrays.asList(bean.getClass().getDeclaredFields())); + fields.addAll(Arrays.asList(bean.getClass().getSuperclass().getDeclaredFields())); + for (Field field : fields) { try { boolean isAccessible = field.isAccessible(); field.setAccessible(true);