diff --git a/hutool-core/src/main/java/org/dromara/hutool/core/annotation/CombinationAnnotationElement.java b/hutool-core/src/main/java/org/dromara/hutool/core/annotation/CombinationAnnotationElement.java index cea814b05..a6f1abd0a 100644 --- a/hutool-core/src/main/java/org/dromara/hutool/core/annotation/CombinationAnnotationElement.java +++ b/hutool-core/src/main/java/org/dromara/hutool/core/annotation/CombinationAnnotationElement.java @@ -169,7 +169,7 @@ public class CombinationAnnotationElement implements AnnotatedElement, Serializa annotationType = annotation.annotationType(); if (!META_ANNOTATIONS.contains(annotationType) // issue#I5FQGW@Gitee:跳过元注解和已经处理过的注解,防止递归调用 - && !declaredAnnotationMap.containsKey(annotationType)) { + && !annotationMap.containsKey(annotationType)) { if(test(annotation)){ annotationMap.put(annotationType, annotation); } diff --git a/hutool-core/src/main/java/org/dromara/hutool/core/xml/XmlMapper.java b/hutool-core/src/main/java/org/dromara/hutool/core/xml/XmlMapper.java index 9c0d1f6d7..5bb7ebd02 100755 --- a/hutool-core/src/main/java/org/dromara/hutool/core/xml/XmlMapper.java +++ b/hutool-core/src/main/java/org/dromara/hutool/core/xml/XmlMapper.java @@ -116,7 +116,6 @@ public class XmlMapper { } childEle = (Element) childNode; - final Object value = result.get(childEle.getNodeName()); final Object newValue; if (childEle.hasChildNodes()) { // 子节点继续递归遍历 @@ -131,6 +130,7 @@ public class XmlMapper { } if (null != newValue) { + final Object value = result.get(childEle.getNodeName()); if (null != value) { if (value instanceof List) { ((List) value).add(newValue);