From 0585b3c6b70077df2e6a9057d5af8495050469b1 Mon Sep 17 00:00:00 2001 From: Looly Date: Mon, 3 Mar 2025 12:32:58 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D`JsonUtil.toBean`=E6=B3=9B?= =?UTF-8?q?=E5=9E=8B=E6=95=B0=E7=BB=84=E7=B1=BB=E5=9E=8B=E4=B8=A2=E5=A4=B1?= =?UTF-8?q?=E9=97=AE=E9=A2=98=EF=BC=88pr#3876@Github=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/bean/copier/ValueProviderToBeanCopier.java | 4 ++-- .../hutool/core/reflect/ActualTypeMapperPool.java | 9 ++++----- 2 files changed, 6 insertions(+), 7 deletions(-) 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;