public class NumberConverter extends AbstractConverter implements MatcherConverter
java.lang.Bytejava.lang.Shortjava.lang.Integerjava.util.concurrent.atomic.AtomicIntegerjava.lang.Longjava.util.concurrent.atomic.AtomicLongjava.lang.Floatjava.lang.Doublejava.math.BigDecimaljava.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)
判断需要转换的对象是否匹配当前转换器,满足则转换,否则跳过
|
convertclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitmatchpublic static final NumberConverter INSTANCE
public boolean match(Type targetType, Class<?> rawType, Object value)
MatcherConvertermatch in interface MatcherConvertertargetType - 转换的目标类型,不能为nullrawType - 目标原始类型,当targetType为Class时,和此参数一致,不能为nullvalue - 需要转换的值protected Number convertInternal(Class<?> targetClass, Object value)
AbstractConverterAbstractConverter.convert(Type, Object) 调用,实现基本转换逻辑1、返回null2、抛出一个RuntimeException异常
convertInternal in class AbstractConvertertargetClass - 目标类型value - 值protected String convertToStr(Object value)
AbstractConverter1、字符串类型将被强转 2、数组将被转换为逗号分隔的字符串 3、其它类型将调用默认的toString()方法
convertToStr in class AbstractConvertervalue - 值Copyright © 2025. All rights reserved.