class 如何 获取 方法 中的 泛型
public class MyTest {
public Map<Integer, String> test1(Map<Integer, String> map, List<String> list) {
return null;
}
public static void main(String[] args) throws NoSuchMethodException {
Method test1 = MyTest.class.getMethod("test1", Map.class, List.class);
Type[] genericReturnType = test1.getGenericParameterTypes();
for (Type type : genericReturnType) {
if (type instanceof ParameterizedType) {
Type[] actualTypeArguments = ((ParameterizedType) type).getActualTypeArguments();
for (Type argument : actualTypeArguments) {
System.out.println(argument);
}
}
}
System.out.println("--------------------");
Type genericReturnType1 = test1.getGenericReturnType();
if (genericReturnType1 instanceof ParameterizedType) {
Type[] actualTypeArguments = ((ParameterizedType) genericReturnType1).getActualTypeArguments();
for (Type type : actualTypeArguments) {
System.out.println(type);
}
}
}
}