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