From cb093e067d3f4260e7ceac75ac9c35b673eb9b25 Mon Sep 17 00:00:00 2001 From: Looly Date: Mon, 22 Jan 2024 09:20:14 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8DBeanToMapCopier=E8=8E=B7?= =?UTF-8?q?=E5=8F=96=E7=B1=BB=E5=9E=8B=E6=95=B0=E7=BB=84=E8=B6=8A=E7=95=8C?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 3 ++- .../main/java/cn/hutool/core/bean/copier/BeanToMapCopier.java | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 862b9182d..0ece8a530 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,7 @@ # 🚀Changelog ------------------------------------------------------------------------------------------------------------- -# 5.8.26(2024-01-19) +# 5.8.26(2024-01-22) ### 🐣新特性 * 【db 】 RedisDS增加user支持(issue#I8XEQ4@Gitee) @@ -10,6 +10,7 @@ ### 🐞Bug修复 * 【crypto】 修复BouncyCastleProvider导致graalvm应用报错UnsupportedFeatureError(pr#3464@Github) * 【http 】 修复UserAgentUtil对QQ浏览器识别问题(issue#I8X5XQ@Gitee) +* 【core 】 修复BeanToMapCopier获取类型数组越界问题(issue#3468@Github) ------------------------------------------------------------------------------------------------------------- # 5.8.25(2024-01-11) diff --git a/hutool-core/src/main/java/cn/hutool/core/bean/copier/BeanToMapCopier.java b/hutool-core/src/main/java/cn/hutool/core/bean/copier/BeanToMapCopier.java index 8ce4617ad..1809db340 100755 --- a/hutool-core/src/main/java/cn/hutool/core/bean/copier/BeanToMapCopier.java +++ b/hutool-core/src/main/java/cn/hutool/core/bean/copier/BeanToMapCopier.java @@ -70,7 +70,7 @@ public class BeanToMapCopier extends AbsCopier { // 获取目标值真实类型并转换源值 final Type[] typeArguments = TypeUtil.getTypeArguments(this.targetType); - if(null != typeArguments){ + if(null != typeArguments && typeArguments.length > 1){ //sValue = Convert.convertWithCheck(typeArguments[1], sValue, null, this.copyOptions.ignoreError); sValue = this.copyOptions.convertField(typeArguments[1], sValue); sValue = copyOptions.editFieldValue(sFieldName, sValue);