From dc23237651467fde36c09f8ee9a67ef4de69d339 Mon Sep 17 00:00:00 2001 From: Looly Date: Thu, 29 Jun 2023 17:28:20 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8DPair=E5=BA=8F=E5=88=97?= =?UTF-8?q?=E5=8C=96=E8=BD=AC=E6=8D=A2=E6=97=A0=E6=95=88=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 1 + .../hutool/core/convert/ConverterRegistry.java | 4 ++-- .../java/cn/hutool/json/IssueI7GPGXTest.java | 18 +++++++----------- 3 files changed, 10 insertions(+), 13 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8b788a8dd..3bb64bc18 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,7 @@ * 【core 】 修复序列化和反序列化Class问题(issue#I7FQ29@Gitee) * 【setting】 修复utf8-bom的setting文件读取问题(issue#I7G34E@Gitee) * 【core 】 修复PathUtil.getMimeType可能造成的异常(issue#3179@Github) +* 【core 】 修复Pair序列化转换无效问题(issue#I7GPGX@Github) ------------------------------------------------------------------------------------------------------------- # 5.8.20(2023-06-16) diff --git a/hutool-core/src/main/java/cn/hutool/core/convert/ConverterRegistry.java b/hutool-core/src/main/java/cn/hutool/core/convert/ConverterRegistry.java index 709f19a35..0a755c4fe 100755 --- a/hutool-core/src/main/java/cn/hutool/core/convert/ConverterRegistry.java +++ b/hutool-core/src/main/java/cn/hutool/core/convert/ConverterRegistry.java @@ -42,7 +42,7 @@ public class ConverterRegistry implements Serializable { /** * 默认类型转换器 */ - private Map> defaultConverterMap; + private Map, Converter> defaultConverterMap; /** * 用户自定义类型转换器 */ @@ -154,7 +154,7 @@ public class ConverterRegistry implements Serializable { */ @SuppressWarnings("unchecked") public Converter getDefaultConverter(Type type) { - return (null == defaultConverterMap) ? null : (Converter) defaultConverterMap.get(type); + return (null == defaultConverterMap) ? null : (Converter) defaultConverterMap.get(TypeUtil.getClass(type)); } /** diff --git a/hutool-json/src/test/java/cn/hutool/json/IssueI7GPGXTest.java b/hutool-json/src/test/java/cn/hutool/json/IssueI7GPGXTest.java index 9056df589..fc0829b5f 100755 --- a/hutool-json/src/test/java/cn/hutool/json/IssueI7GPGXTest.java +++ b/hutool-json/src/test/java/cn/hutool/json/IssueI7GPGXTest.java @@ -14,20 +14,16 @@ package cn.hutool.json; import cn.hutool.core.lang.Pair; import cn.hutool.core.lang.TypeReference; +import org.junit.Assert; import org.junit.Test; public class IssueI7GPGXTest { - @Test - public void toBeanTest() throws NoSuchMethodException { - Pair hutoolPair = getHutoolPair(); - String a = JSONUtil.toJsonStr(hutoolPair); - System.out.println(a); - System.out.println("====================================="); - Pair pair = JSONUtil.toBean(a, new TypeReference>() {}, false); - System.out.println(JSONUtil.toJsonStr(pair)); - } - public static Pair getHutoolPair() { - return new Pair<>("test1", true); + @Test + public void toBeanTest() { + final Pair hutoolPair = new Pair<>("test1", true); + final String a = JSONUtil.toJsonStr(hutoolPair); + final Pair pair = JSONUtil.toBean(a, new TypeReference>() {}, false); + Assert.assertEquals(hutoolPair, pair); } }