Class EnumConverter

java.lang.Object
org.miaixz.bus.core.convert.AbstractConverter
org.miaixz.bus.core.convert.EnumConverter
All Implemented Interfaces:
Serializable, Converter

public class EnumConverter extends AbstractConverter
无泛型检查的枚举转换器
Since:
Java 17+
Author:
Kimi Liu
See Also:
  • Field Details

  • Constructor Details

    • EnumConverter

      public EnumConverter()
  • Method Details

    • tryConvertEnum

      protected static Enum tryConvertEnum(Object value, Class enumClass)
      尝试转换,转换规则为:
      • 如果实现Enumers接口,则调用fromInt或fromStr转换
      • 找到类似转换的静态方法调用实现转换且优先使用
      • 约定枚举类应该提供 valueOf(String) 和 valueOf(Integer)用于转换
      • oriInt /name 转换托底
      Parameters:
      value - 被转换的值
      enumClass - enum类
      Returns:
      对应的枚举值
    • convertInternal

      protected Object convertInternal(Class<?> targetClass, Object value)
      Description copied from class: AbstractConverter
      内部转换器,被 AbstractConverter.convert(Type, Object) 调用,实现基本转换逻辑 内部转换器转换后如果转换失败可以做如下操作,处理结果都为返回默认值:
       1、返回
       null
       
       2、抛出一个RuntimeException异常
       
      Specified by:
      convertInternal in class AbstractConverter
      Parameters:
      targetClass - 目标类型
      value - 值
      Returns:
      转换后的类型