spring的ConversionService分析

1:说明

这是spring用来进行数据类型转化定义的接口,功能同JDK的PropertyEditor简单使用
,源码如下:

org.springframework.core.convert.ConversionService
public interface ConversionService {
	// sourceType类型是否可以转换为targetType类型
	boolean canConvert(@Nullable Class<?> sourceType, Class<?> targetType);
	// sourceType的类型描述符,是否可以转换为targetType的类型描述符
	boolean canConvert(@Nullable TypeDescriptor sourceType, TypeDescriptor targetType);
	// 转换source为targetType
	@Nullable
	<T> T convert(@Nullable Object source, Class<T> targetType);
	// 转换source+sourceType为targetType
	@Nullable
	Object convert(@Nullable Object source, @Nullable TypeDescriptor sourceType, TypeDescriptor targetType);
}

1:测试

@Test
public void testConversionService() {
    DefaultConversionService cs
            = new DefaultConversionService();
    // 检测int类型是否可以转换为String类型(true)
    boolean intToStringCanConvert = cs.canConvert(int.class, String.class);
    System.out.println("intToStringCanConvert: ");
    System.out.println(intToStringCanConvert);
    // 检测map类型是否可以转换为int类型
    boolean mapToIntCanConvert = cs.canConvert(Map.class, int.class);
    System.out.println("mapToIntCanConvert: ");
    System.out.println(mapToIntCanConvert);
    String intInStringType = "900";
    // 转换String为int类型结果
    Integer targetIntType = cs.convert(intInStringType, int.class);
    System.out.println("targetIntType: ");
    System.out.println(targetIntType);
}

运行:

intToStringCanConvert: 
true
mapToIntCanConvert: 
false
targetIntType: 
900

Process finished with exit code 0
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值