diff --git a/hutool-core/src/main/java/org/dromara/hutool/core/bean/copier/ValueProviderToBeanCopier.java b/hutool-core/src/main/java/org/dromara/hutool/core/bean/copier/ValueProviderToBeanCopier.java index 1a02efe79..b1d2adf97 100644 --- a/hutool-core/src/main/java/org/dromara/hutool/core/bean/copier/ValueProviderToBeanCopier.java +++ b/hutool-core/src/main/java/org/dromara/hutool/core/bean/copier/ValueProviderToBeanCopier.java @@ -73,8 +73,6 @@ public class ValueProviderToBeanCopier extends AbsCopier entry = copyOptions.editField(tFieldName, null); if(null == entry){ @@ -89,6 +87,8 @@ public class ValueProviderToBeanCopier extends AbsCopier typeTypeMap = get(type); Type actualType = typeTypeMap.get(genericArrayType); - if (actualType == null) { + // 获取泛型数组元素泛型对应的确切类型 final Type componentType = typeTypeMap.get(genericArrayType.getGenericComponentType()); - if (!(componentType instanceof Class)) { - return null; + if (componentType instanceof Class) { + actualType = ArrayUtil.getArrayType((Class) componentType); + typeTypeMap.put(genericArrayType, actualType); } - actualType = ArrayUtil.getArrayType((Class) componentType); - typeTypeMap.put(genericArrayType, actualType); } return actualType;