spring工具使用spring-core之ResolvableType

tech2025-10-06  4

1.根据类型获取

 

1.1 根据Class获取

ResolvableType rt = ResolvableType.forType(String.class); Assertions.assertEquals(rt.getType(),String.class); log.info(rt.toString()); 这种方式无法解析泛型 ResolvableType rt = ResolvableType.forType(new HashMap<String,String>().getClass()); Assertions.assertEquals(rt.getType(),HashMap.class); log.info(rt.toString()); 如上,Class对象无法传递泛型信息,获取到的类型为java.util.HashMap<?, ?>

 

1.2 根据参数化类型获取

ResolvableType rt = ResolvableType.forType(new ParameterizedTypeReference<Map<String,List<Integer>>>(){}); Assertions.assertTrue(rt.getType() instanceof ParameterizedType); Assertions.assertEquals(rt.resolve(),Map.class); Assertions.assertEquals(rt.getGenerics().length,2); Assertions.assertEquals(rt.getGeneric(0).resolve(),String.cla
最新回复(0)