Class PrimitiveConverter

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

public class PrimitiveConverter extends AbstractConverter
原始类型转换器 支持类型为:
  • byte
  • short
  • int
  • long
  • float
  • double
  • char
  • boolean
Since:
Java 17+
Author:
Kimi Liu
See Also:
  • Field Details

  • Constructor Details

    • PrimitiveConverter

      public PrimitiveConverter()
      构造
      Throws:
      IllegalArgumentException - 传入的转换类型非原始类型时抛出
  • Method Details

    • convert

      protected static Object convert(Object value, Class<?> primitiveClass, Function<Object,String> toStringFunc)
      将指定值转换为原始类型的值
      Parameters:
      value - 值
      primitiveClass - 原始类型
      toStringFunc - 当无法直接转换时,转为字符串后再转换的函数
      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:
      转换后的类型
    • convertToString

      protected String convertToString(Object value)
      Description copied from class: AbstractConverter
      值转为String,用于内部转换中需要使用String中转的情况 转换规则为:
       1、字符串类型将被强转
       2、数组将被转换为逗号分隔的字符串
       3、其它类型将调用默认的toString()方法
       
      Overrides:
      convertToString in class AbstractConverter
      Parameters:
      value - 值
      Returns:
      String