public class NumberConverter extends AbstractConverter implements MatcherConverter
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
Modifier and Type | Field and Description |
---|---|
static NumberConverter |
INSTANCE
单例
|
Constructor and Description |
---|
NumberConverter() |
Modifier and Type | Method and Description |
---|---|
protected static Number |
convert(Object value,
Class<? extends Number> targetType,
Function<Object,String> toStrFunc)
转换对象为数字,支持的对象包括:
Number对象
Boolean
byte[]
String
|
protected Number |
convertInternal(Class<?> targetClass,
Object value)
内部转换器,被
AbstractConverter.convert(Type, Object) 调用,实现基本转换逻辑内部转换器转换后如果转换失败可以做如下操作,处理结果都为返回默认值: 1、返回 null
2、抛出一个RuntimeException 异常
|
protected String |
convertToStr(Object value)
值转为String,用于内部转换中需要使用String中转的情况
转换规则为: 1、字符串类型将被强转 2、数组将被转换为逗号分隔的字符串 3、其它类型将调用默认的toString()方法 |
boolean |
match(Type targetType,
Class<?> rawType,
Object value)
判断需要转换的对象是否匹配当前转换器,满足则转换,否则跳过
|
convert
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
match
public static final NumberConverter INSTANCE
public boolean match(Type targetType, Class<?> rawType, Object value)
MatcherConverter
match
in interface MatcherConverter
targetType
- 转换的目标类型,不能为null
rawType
- 目标原始类型,当targetType为Class时,和此参数一致,不能为null
value
- 需要转换的值protected Number convertInternal(Class<?> targetClass, Object value)
AbstractConverter
AbstractConverter.convert(Type, Object)
调用,实现基本转换逻辑1、返回null
2、抛出一个RuntimeException
异常
convertInternal
in class AbstractConverter
targetClass
- 目标类型value
- 值protected String convertToStr(Object value)
AbstractConverter
1、字符串类型将被强转 2、数组将被转换为逗号分隔的字符串 3、其它类型将调用默认的toString()方法
convertToStr
in class AbstractConverter
value
- 值Copyright © 2025. All rights reserved.