Package | Description |
---|---|
org.dromara.hutool.core.bean.copier |
Bean拷贝实现,包括拷贝选项等
|
org.dromara.hutool.core.collection |
集合以及Iterator封装,包括集合工具CollUtil,Iterator和Iterable工具IterUtil
|
org.dromara.hutool.core.convert |
万能类型转换器以及各种类型转换的实现类,其中Convert为转换器入口,提供各种toXXX方法和convert方法
转换器是典型的策略模式应用,可自定义转换策略。 |
org.dromara.hutool.core.convert.impl |
各种类型转换的实现类,其都为Converter接口的实现,用于将未知的Object类型转换为指定类型
|
org.dromara.hutool.core.lang.getter |
getXXX方法的接口和抽象实现
|
org.dromara.hutool.core.reflect |
提供反射相关功能对象和类
|
Modifier and Type | Field and Description |
---|---|
protected Converter |
CopyOptions.converter
自定义类型转换器,默认使用全局万能转换器转换
|
Modifier and Type | Method and Description |
---|---|
CopyOptions |
CopyOptions.setConverter(Converter converter)
设置自定义类型转换器,默认使用全局万能转换器转换。
|
Modifier and Type | Method and Description |
---|---|
static <T> Collection<T> |
CollUtil.addAll(Collection<T> collection,
Object value,
Type elementType,
Converter converter)
将指定对象全部加入到集合中
提供的对象如果为集合类型,会自动转换为目标元素类型 如果为String,支持类似于[1,2,3,4] 或者 1,2,3,4 这种格式 |
Modifier and Type | Interface and Description |
---|---|
interface |
MatcherConverter
带有匹配的转换器
判断目标对象是否满足条件,满足则转换,否则跳过 实现此接口同样可以不判断断言而直接转换 |
Modifier and Type | Class and Description |
---|---|
class |
AbstractConverter
抽象转换器,提供通用的转换逻辑,同时通过convertInternal实现对应类型的专属逻辑
转换器不会抛出转换异常,转换失败时会返回 null 抽象转换器的默认逻辑不适用于有泛型参数的对象,如Map、Collection、Entry等。 |
class |
CompositeConverter
复合转换器,融合了所有支持类型和自定义类型的转换规则
在此类中,存放着默认转换器和自定义转换器,默认转换器是Hutool中预定义的一些转换器,自定义转换器存放用户自定的转换器。 |
class |
ConverterWithRoot
带根的转换器
在嵌套对象转换中,如果涉及子对象的转换,使用根转换器转换 |
class |
RegisterConverter
基于类型注册的转换器,提供两种注册方式,按照优先级依次为:
按照匹配注册,使用
RegisterConverter.register(MatcherConverter) 。 |
class |
SpecialConverter
特殊类型转换器,如果不符合特殊类型,则返回
null 继续其它转换规则对于特殊对象(如集合、Map、Enum、数组)等的转换器,实现转换 注意:此类中的转换器查找是通过遍历方式 |
Modifier and Type | Field and Description |
---|---|
protected Converter |
ConverterWithRoot.rootConverter |
Modifier and Type | Method and Description |
---|---|
Converter |
SpecialConverter.getConverter(Type type,
Class<?> rawType,
Object value)
获得匹配的转换器
|
Converter |
RegisterConverter.getConverter(Type type,
Object value,
boolean isCustomFirst)
获得转换器
|
Converter |
RegisterConverter.getCustomConverter(Type type)
获得指定类型对应的自定义转换器
|
Converter |
RegisterConverter.getCustomConverter(Type type,
Object value)
获得匹配类型的自定义转换器
|
Converter |
RegisterConverter.getDefaultConverter(Type type)
获得默认转换器
|
Converter |
ConverterWithRoot.getRootConverter()
获取根转换器,用于子转换器转换
|
static Converter |
Converter.identity()
返回原值的转换器,不做转换
|
Modifier and Type | Method and Description |
---|---|
RegisterConverter |
RegisterConverter.register(Type type,
Converter converter)
登记自定义转换器,登记的目标类型必须一致
|
CompositeConverter |
CompositeConverter.register(Type type,
Converter converter)
登记自定义转换器,登记的目标类型必须一致
注意:如果单例使用,此方法会影响全局 |
Constructor and Description |
---|
ConverterWithRoot(Converter rootConverter)
构造
|
RegisterConverter(Converter rootConverter)
构造
|
SpecialConverter(Converter rootConverter)
构造
|
Modifier and Type | Class and Description |
---|---|
class |
ArrayConverter
数组转换器,包括原始类型数组
|
class |
AtomicBooleanConverter
|
class |
AtomicIntegerArrayConverter
|
class |
AtomicLongArrayConverter
|
class |
AtomicReferenceConverter
|
class |
BeanConverter
Bean转换器,支持:
Map =》 Bean
Bean =》 Bean
ValueProvider =》 Bean
|
class |
BooleanConverter
布尔转换器
对象转为boolean,规则如下:
1、数字0为false,其它数字为true
2、转换为字符串,形如"true", "yes", "y", "t", "ok", "1", "on", "是", "对", "真", "對", "√"为true,其它字符串为false.
|
class |
CalendarConverter
日期转换器
|
class |
CastConverter
强转转换器
|
class |
CharacterConverter
字符转换器
|
class |
CharsetConverter
编码对象转换器
|
class |
ClassConverter
类转换器
将类名转换为类,默认初始化这个类(执行static块) |
class |
CollectionConverter
各种集合类转换器
|
class |
CurrencyConverter
货币
Currency 转换器 |
class |
DateConverter
日期转换器
|
class |
DurationConverter
Duration 对象转换器 |
class |
EmptyBeanConverter
空值或空对象转换器,转换结果为目标类型对象的实例化对象
|
class |
EntryConverter
|
class |
EnumConverter
无泛型检查的枚举转换器
|
class |
KBeanConverter
Kotlin Bean转换器,支持:
Map =》 Bean
Bean =》 Bean
ValueProvider =》 Bean
|
class |
LocaleConverter
Locale 对象转换器只提供String转换支持 |
class |
MapConverter
Map 转换器,通过预定义key和value的类型,实现:
Map 转 Map,key和value类型自动转换
Bean 转 Map,字段和字段值类型自动转换
|
class |
NumberConverter
数字转换器
支持类型为: java.lang.Byte
java.lang.Short
java.lang.Integer
java.util.concurrent.atomic.AtomicInteger
java.lang.Long
java.util.concurrent.atomic.AtomicLong
java.lang.Float
java.lang.Double
java.math.BigDecimal
java.math.BigInteger
|
class |
OptConverter
Opt 对象转换器 |
class |
OptionalConverter
Optional 对象转换器 |
class |
PairConverter
|
class |
PathConverter
字符串转换器
|
class |
PeriodConverter
Period 对象转换器 |
class |
PrimitiveConverter
原始类型转换器
支持类型为: byte
short
int
long
float
double
char
boolean
|
class |
RecordConverter
Record类的转换器,支持:
Map =》 Record
Bean =》 Record
ValueProvider =》 Record
|
class |
ReferenceConverter
Reference 转换器 |
class |
StackTraceElementConverter
StackTraceElement 转换器只支持Map方式转换 |
class |
StringConverter
字符串转换器,提供各种对象转换为字符串的逻辑封装
|
class |
TemporalAccessorConverter
JDK8中新加入的java.time包对象解析转换器
支持的对象包括: java.time.Instant java.time.LocalDateTime java.time.LocalDate java.time.LocalTime java.time.ZonedDateTime java.time.OffsetDateTime java.time.OffsetTime |
class |
TimeZoneConverter
TimeZone转换器
|
class |
TripleConverter
|
class |
TupleConverter
Tuple 转换器 |
class |
URIConverter
URI对象转换器
|
class |
URLConverter
URL对象转换器
|
class |
UUIDConverter
UUID对象转换器转换器
|
class |
XMLGregorianCalendarConverter
日期转换器
|
class |
ZoneIdConverter
ZoneId 转换器 |
Constructor and Description |
---|
AtomicReferenceConverter(Converter converter)
构造
|
EntryConverter(Converter converter)
构造
|
MapConverter(Converter rootConverter)
构造
|
PairConverter(Converter rootConverter)
构造
|
ReferenceConverter(Converter rootConverter)
构造
|
TripleConverter(Converter rootConverter)
构造
|
Modifier and Type | Method and Description |
---|---|
default <T> T |
TypeGetter.get(K key,
Type type,
Converter converter,
T defaultValue)
获取指定类型的值,默认自动转换值类型
|
Modifier and Type | Method and Description |
---|---|
FieldInvoker |
FieldInvoker.setConverter(Converter converter)
设置字段值转换器
|
static void |
FieldUtil.setFieldValue(Object obj,
Field field,
Object value,
Converter converter)
设置字段值,如果值类型必须与字段类型匹配,会自动转换对象类型
|
Copyright © 2025. All rights reserved.