类 TypeConverter
java.lang.Object
com.agentsflex.core.util.TypeConverter
高性能通用类型转换工具类
转换策略优先级(按性能排序):
- null 处理 & 类型匹配 → 直接返回
- 基本类型 & 包装类型 → 直接转换(零 JSON 开销)
- String/Number/Boolean → 类型安全转换
- Date/Time/Enum → 特殊处理(多格式解析 + 缓存)
- 复杂对象/泛型集合 → 走 JSON 转换(兜底)
线程安全:本类所有方法均为静态无状态,可安全并发调用
- 从以下版本开始:
- 1.0
- 作者:
- Michael
-
嵌套类概要
嵌套类 -
字段概要
字段修饰符和类型字段说明private static final String[]日期格式列表(按命中率降序排列,提升平均性能)Boolean 假值集合(不区分大小写)private static final Map<String,DateTimeFormatter> DateTimeFormatter 缓存(Key: pattern)数值类型集合基本类型 → 包装类型映射private static final Pattern纯整数正则:可选符号 + 数字private static final com.alibaba.fastjson2.JSONWriter.Feature[]JSON 序列化特性配置private static final Pattern时间戳正则:10位(秒) 或 13位(毫秒)Boolean 真值集合(不区分大小写) -
构造器概要
构造器 -
方法概要
修饰符和类型方法说明static <T> T通用类型转换入口static <T> T带默认值的转换:转换失败或结果为 null 时返回默认值private static BooleanconvertBoolean(Object value) private static ObjectconvertByJson(Object value, Class<?> targetType) private static CharacterconvertChar(Object value) private static ObjectconvertComplexType(Object value, Type toType) private static NumberconvertNumber(Object value, Class<?> targetType) private static ObjectconvertSimpleType(Object value, Class<?> targetType) private static DateconvertToDate(Object value) private static <E extends Enum<E>>
EconvertToEnum(Object value, Class<E> enumClass) private static InstantconvertToInstant(Object value) private static LocalDateconvertToLocalDate(Object value) private static LocalDateTimeconvertToLocalDateTime(Object value) static TypecreateParameterizedType(Class<?> rawType, Type... typeArgs) 动态创建 ParameterizedType(用于运行时泛型)private static DateTimeFormattergetCachedFormatter(String pattern) private static booleanisDecimalString(String str) 判断是否为小数字符串(包含小数点)private static booleanisPureNumeric(String str) 判断是否为纯整数字符串(可选符号 + 数字)private static Dateprivate static DatetryFuzzyParse(String str)
-
字段详细资料
-
PRIMITIVE_WRAPPER_MAP
基本类型 → 包装类型映射 -
NUMBER_TYPES
数值类型集合 -
TRUE_VALUES
Boolean 真值集合(不区分大小写) -
FALSE_VALUES
Boolean 假值集合(不区分大小写) -
PURE_INTEGER_PATTERN
纯整数正则:可选符号 + 数字 -
TIMESTAMP_PATTERN
时间戳正则:10位(秒) 或 13位(毫秒) -
DATE_PATTERNS
日期格式列表(按命中率降序排列,提升平均性能) -
FORMATTER_CACHE
DateTimeFormatter 缓存(Key: pattern) -
SERIAL_FEATURES
JSON 序列化特性配置
-
-
构造器详细资料
-
TypeConverter
public TypeConverter()
-
-
方法详细资料
-
convert
通用类型转换入口- 类型参数:
T- 目标类型泛型- 参数:
value- 源数据toType- 目标类型(支持 Class / ParameterizedType)- 返回:
- 转换后的对象,失败时抛出 ConversionException
-
convert
带默认值的转换:转换失败或结果为 null 时返回默认值- 类型参数:
T- 目标类型泛型- 参数:
value- 源数据toType- 目标类型defaultValue- 默认值- 返回:
- 转换结果或默认值
-
createParameterizedType
动态创建 ParameterizedType(用于运行时泛型)- 参数:
rawType- 原始类型,如 List.classtypeArgs- 泛型参数,如 User.class- 返回:
- ParameterizedType 实例
-
convertSimpleType
-
convertNumber
-
isPureNumeric
判断是否为纯整数字符串(可选符号 + 数字) -
isDecimalString
判断是否为小数字符串(包含小数点) -
convertBoolean
-
convertChar
-
convertToDate
-
parseDateFromString
-
getCachedFormatter
-
tryFuzzyParse
-
convertToLocalDate
-
convertToLocalDateTime
-
convertToInstant
-
convertToEnum
-
convertComplexType
-
convertByJson
-