Package org.miaixz.bus.core.convert
package org.miaixz.bus.core.convert
万能类型转换器以及各种类型转换的实现类,其中Convert为转换器入口,提供各种toXXX方法和convert方法
转换器是典型的策略模式应用,通过实现Converter 接口, 自定义转换策略。提供了常用类型的转换策略。
- Since:
- Java 17+
- Author:
- Kimi Liu
-
ClassDescription抽象转换器,提供通用的转换逻辑,同时通过convertInternal实现对应类型的专属逻辑 转换器不会抛出转换异常,转换失败时会返回
null抽象转换器的默认逻辑不适用于有泛型参数的对象,如Map、Collection、Entry等。通用逻辑包括: value为null时返回null目标类型是null或者TypeVariable时,抛出ConvertException异常 目标类型非class时,抛出IllegalArgumentException目标类型为值的父类或同类,直接强转返回数组转换器,包括原始类型数组基本变量类型的枚举 基本类型枚举包括原始类型和包装类型Bean转换器,支持:布尔转换器日期转换器强转转换器字符转换器编码对象转换器类转换器 将类名转换为类,默认初始化这个类(执行static块)各种集合类转换器复合转换器,融合了所有支持类型和自定义类型的转换规则类型转换器类型转换接口函数,根据给定的值和目标类型,由用户自定义转换规则。货币Currency转换器日期转换器Duration对象转换器无泛型检查的枚举转换器Kotlin Bean转换器,支持:Locale对象转换器 只提供String转换支持Map转换器,通过预定义key和value的类型,实现: Map 转 Map,key和value类型自动转换 Bean 转 Map,字段和字段值类型自动转换数字转换器 支持类型为:java.lang.Bytejava.lang.Shortjava.lang.Integerjava.util.concurrent.atomic.AtomicIntegerjava.lang.Longjava.util.concurrent.atomic.AtomicLongjava.lang.Floatjava.lang.Doublejava.math.BigDecimaljava.math.BigIntegerOptional对象转换器Optional对象转换器字符串转换器Period对象转换器原始类型转换器 支持类型为:byteshortintlongfloatdoublecharbooleanRecord类的转换器,支持:Reference转换器基于类型注册的转换器,转换器默认提供一些固定的类型转换,用户可调用RegisterConverter.putCustom(Type, Converter)注册自定义转换规则StackTraceElement转换器 只支持Map方式转换字符串转换器,提供各种对象转换为字符串的逻辑封装JDK8中新加入的java.time包对象解析转换器 支持的对象包括:TimeZone转换器Tuple转换器URI对象转换器URL对象转换器UUID对象转换器转换器日期转换器ZoneId转换器