From 117e24cd51dd55238f769f5ab96af7f6125e79cb Mon Sep 17 00:00:00 2001 From: Looly Date: Fri, 20 May 2022 11:59:21 +0800 Subject: [PATCH] fix bug --- .../java/cn/hutool/core/convert/AbstractConverter.java | 4 ++-- .../java/cn/hutool/core/convert/ConverterRegistry.java | 1 + .../core/convert/impl/TemporalAccessorConverter.java | 8 +++++++- .../test/java/cn/hutool/core/convert/ConvertTest.java | 9 +++++++++ 4 files changed, 19 insertions(+), 3 deletions(-) diff --git a/hutool-core/src/main/java/cn/hutool/core/convert/AbstractConverter.java b/hutool-core/src/main/java/cn/hutool/core/convert/AbstractConverter.java index 45bad14c7..c66d4f247 100644 --- a/hutool-core/src/main/java/cn/hutool/core/convert/AbstractConverter.java +++ b/hutool-core/src/main/java/cn/hutool/core/convert/AbstractConverter.java @@ -1,9 +1,9 @@ package cn.hutool.core.convert; -import cn.hutool.core.util.ArrayUtil; -import cn.hutool.core.util.CharUtil; import cn.hutool.core.reflect.ClassUtil; import cn.hutool.core.text.StrUtil; +import cn.hutool.core.util.ArrayUtil; +import cn.hutool.core.util.CharUtil; import java.io.Serializable; import java.util.Map; 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 d59cb62fe..79e169b49 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 @@ -258,6 +258,7 @@ public class ConverterRegistry implements Serializable { return converter.convert(value, defaultValue); } + Class rowType = (Class) TypeUtil.getClass(type); if (null == rowType) { if (null != defaultValue) { diff --git a/hutool-core/src/main/java/cn/hutool/core/convert/impl/TemporalAccessorConverter.java b/hutool-core/src/main/java/cn/hutool/core/convert/impl/TemporalAccessorConverter.java index 5ab61d751..131095721 100644 --- a/hutool-core/src/main/java/cn/hutool/core/convert/impl/TemporalAccessorConverter.java +++ b/hutool-core/src/main/java/cn/hutool/core/convert/impl/TemporalAccessorConverter.java @@ -3,8 +3,8 @@ package cn.hutool.core.convert.impl; import cn.hutool.core.convert.AbstractConverter; import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; -import cn.hutool.core.util.ObjUtil; import cn.hutool.core.text.StrUtil; +import cn.hutool.core.util.ObjUtil; import java.time.Instant; import java.time.LocalDate; @@ -84,6 +84,12 @@ public class TemporalAccessorConverter extends AbstractConverter getTargetType() { + return (Class) this.targetType; + } + @Override protected TemporalAccessor convertInternal(final Object value) { if (value instanceof Long) { diff --git a/hutool-core/src/test/java/cn/hutool/core/convert/ConvertTest.java b/hutool-core/src/test/java/cn/hutool/core/convert/ConvertTest.java index d7d92504b..8c1e06224 100755 --- a/hutool-core/src/test/java/cn/hutool/core/convert/ConvertTest.java +++ b/hutool-core/src/test/java/cn/hutool/core/convert/ConvertTest.java @@ -15,6 +15,8 @@ import org.junit.Test; import java.io.Serializable; import java.math.BigDecimal; +import java.time.LocalDate; +import java.time.LocalDateTime; import java.util.ArrayList; import java.util.Arrays; import java.util.Date; @@ -383,4 +385,11 @@ public class ConvertTest { final float b = Convert.toFloat(a); Assert.assertEquals(a, b, 5); } + + @Test + public void localDateTimeToLocalDateTest(){ + final LocalDateTime localDateTime = LocalDateTime.now(); + final LocalDate convert = Convert.convert(LocalDate.class, localDateTime); + Assert.assertEquals(localDateTime.toLocalDate(), convert); + } }