mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-07-21 15:09:48 +08:00
修复序列化和反序列化Class问题
This commit is contained in:
@@ -231,6 +231,11 @@ public class CompositeConverter extends RegisterConverter {
|
||||
return (T) KBeanConverter.INSTANCE.convert(type, value);
|
||||
}
|
||||
|
||||
// issue#I7FQ29 Class
|
||||
if("java.lang.Class".equals(rowType.getName())){
|
||||
return (T) ClassConverter.INSTANCE.convert(type, value);
|
||||
}
|
||||
|
||||
// 表示非需要特殊转换的对象
|
||||
return null;
|
||||
}
|
||||
|
@@ -12,33 +12,7 @@
|
||||
|
||||
package org.dromara.hutool.core.convert;
|
||||
|
||||
import org.dromara.hutool.core.convert.impl.AtomicBooleanConverter;
|
||||
import org.dromara.hutool.core.convert.impl.AtomicIntegerArrayConverter;
|
||||
import org.dromara.hutool.core.convert.impl.AtomicLongArrayConverter;
|
||||
import org.dromara.hutool.core.convert.impl.AtomicReferenceConverter;
|
||||
import org.dromara.hutool.core.convert.impl.BooleanConverter;
|
||||
import org.dromara.hutool.core.convert.impl.CalendarConverter;
|
||||
import org.dromara.hutool.core.convert.impl.CharacterConverter;
|
||||
import org.dromara.hutool.core.convert.impl.CharsetConverter;
|
||||
import org.dromara.hutool.core.convert.impl.ClassConverter;
|
||||
import org.dromara.hutool.core.convert.impl.CurrencyConverter;
|
||||
import org.dromara.hutool.core.convert.impl.DateConverter;
|
||||
import org.dromara.hutool.core.convert.impl.DurationConverter;
|
||||
import org.dromara.hutool.core.convert.impl.LocaleConverter;
|
||||
import org.dromara.hutool.core.convert.impl.OptConverter;
|
||||
import org.dromara.hutool.core.convert.impl.OptionalConverter;
|
||||
import org.dromara.hutool.core.convert.impl.PathConverter;
|
||||
import org.dromara.hutool.core.convert.impl.PeriodConverter;
|
||||
import org.dromara.hutool.core.convert.impl.ReferenceConverter;
|
||||
import org.dromara.hutool.core.convert.impl.StackTraceElementConverter;
|
||||
import org.dromara.hutool.core.convert.impl.StringConverter;
|
||||
import org.dromara.hutool.core.convert.impl.TemporalAccessorConverter;
|
||||
import org.dromara.hutool.core.convert.impl.TimeZoneConverter;
|
||||
import org.dromara.hutool.core.convert.impl.URIConverter;
|
||||
import org.dromara.hutool.core.convert.impl.URLConverter;
|
||||
import org.dromara.hutool.core.convert.impl.UUIDConverter;
|
||||
import org.dromara.hutool.core.convert.impl.XMLGregorianCalendarConverter;
|
||||
import org.dromara.hutool.core.convert.impl.ZoneIdConverter;
|
||||
import org.dromara.hutool.core.convert.impl.*;
|
||||
import org.dromara.hutool.core.date.DateTime;
|
||||
import org.dromara.hutool.core.lang.Opt;
|
||||
import org.dromara.hutool.core.map.SafeConcurrentHashMap;
|
||||
@@ -52,27 +26,9 @@ import java.net.URI;
|
||||
import java.net.URL;
|
||||
import java.nio.charset.Charset;
|
||||
import java.nio.file.Path;
|
||||
import java.time.DayOfWeek;
|
||||
import java.time.Duration;
|
||||
import java.time.Instant;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.LocalTime;
|
||||
import java.time.Month;
|
||||
import java.time.MonthDay;
|
||||
import java.time.OffsetDateTime;
|
||||
import java.time.OffsetTime;
|
||||
import java.time.Period;
|
||||
import java.time.ZoneId;
|
||||
import java.time.ZonedDateTime;
|
||||
import java.time.*;
|
||||
import java.time.temporal.TemporalAccessor;
|
||||
import java.util.Calendar;
|
||||
import java.util.Currency;
|
||||
import java.util.Locale;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
import java.util.TimeZone;
|
||||
import java.util.UUID;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.atomic.AtomicBoolean;
|
||||
import java.util.concurrent.atomic.AtomicIntegerArray;
|
||||
import java.util.concurrent.atomic.AtomicLongArray;
|
||||
@@ -248,7 +204,6 @@ public class RegisterConverter implements Converter, Serializable {
|
||||
defaultConverterMap.put(AtomicLongArray.class, new AtomicLongArrayConverter());
|
||||
|
||||
// 其它类型
|
||||
defaultConverterMap.put(Class.class, new ClassConverter());
|
||||
defaultConverterMap.put(TimeZone.class, new TimeZoneConverter());
|
||||
defaultConverterMap.put(ZoneId.class, new ZoneIdConverter());
|
||||
defaultConverterMap.put(Locale.class, new LocaleConverter());
|
||||
|
@@ -24,6 +24,11 @@ import org.dromara.hutool.core.classloader.ClassLoaderUtil;
|
||||
public class ClassConverter extends AbstractConverter {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 单例
|
||||
*/
|
||||
public static ClassConverter INSTANCE = new ClassConverter();
|
||||
|
||||
private final boolean isInitialized;
|
||||
|
||||
/**
|
||||
|
Reference in New Issue
Block a user