注解和反射15-获取泛型信息
![在这里插入图片描述](https://img-blog.csdnimg.cn/41973f0fcbe34acda4fd95eec31c6dda.png)
package com.kuang.reflection;
import java.lang.reflect.Method;
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
import java.util.List;
import java.util.Map;
public class Test11 {
public void test01(Map<String,User>map, List<User>list){
System.out.println("test01");
}
public Map<String,User>test02(){
System.out.println("test02");
return null;
}
public static void main(String[] args) throws NoSuchMethodException {
Method method = Test11.class.getMethod("test01", Map.class, List.class);
Type[] genericParameterTypes = method.getGenericParameterTypes();
for (Type genericParameterType : genericParameterTypes) {
System.out.println("#"+genericParameterType);
if (genericParameterType instanceof ParameterizedType){
for (Type actualTypeArgument : ((ParameterizedType) genericParameterType).getActualTypeArguments()) {
System.out.println(actualTypeArgument );
}
}
}
method = Test11.class.getMethod("test02", null);
Type genericReturnType = method.getGenericReturnType();
if (genericReturnType instanceof ParameterizedType){
for (Type actualTypeArgument : ((ParameterizedType) genericReturnType).getActualTypeArguments()) {
System.out.println(actualTypeArgument);
}
}
}
}
![在这里插入图片描述](https://img-blog.csdnimg.cn/d8eebad24be64af69c9897889410dade.png)