Package org.miaixz.bus.core.convert
Class EnumConverter
java.lang.Object
org.miaixz.bus.core.convert.AbstractConverter
org.miaixz.bus.core.convert.EnumConverter
- All Implemented Interfaces:
Serializable,Converter
无泛型检查的枚举转换器
- Since:
- Java 17+
- Author:
- Kimi Liu
- See Also:
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected ObjectconvertInternal(Class<?> targetClass, Object value) 内部转换器,被AbstractConverter.convert(Type, Object)调用,实现基本转换逻辑 内部转换器转换后如果转换失败可以做如下操作,处理结果都为返回默认值:protected static EnumtryConvertEnum(Object value, Class enumClass) 尝试转换,转换规则为: 如果实现Enumers接口,则调用fromInt或fromStr转换 找到类似转换的静态方法调用实现转换且优先使用 约定枚举类应该提供 valueOf(String) 和 valueOf(Integer)用于转换 oriInt /name 转换托底Methods inherited from class org.miaixz.bus.core.convert.AbstractConverter
convert, convertToString
-
Field Details
-
INSTANCE
单例
-
-
Constructor Details
-
EnumConverter
public EnumConverter()
-
-
Method Details
-
tryConvertEnum
尝试转换,转换规则为:- 如果实现
Enumers接口,则调用fromInt或fromStr转换 - 找到类似转换的静态方法调用实现转换且优先使用
- 约定枚举类应该提供 valueOf(String) 和 valueOf(Integer)用于转换
- oriInt /name 转换托底
- Parameters:
value- 被转换的值enumClass- enum类- Returns:
- 对应的枚举值
- 如果实现
-
convertInternal
Description copied from class:AbstractConverter内部转换器,被AbstractConverter.convert(Type, Object)调用,实现基本转换逻辑 内部转换器转换后如果转换失败可以做如下操作,处理结果都为返回默认值:1、返回
null2、抛出一个RuntimeException异常- Specified by:
convertInternalin classAbstractConverter- Parameters:
targetClass- 目标类型value- 值- Returns:
- 转换后的类型
-