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