package demo;
import java.lang.reflect.*;
import java.util.List;
import java.util.Map;
//通过发射获取泛型
public class test14 {
public static void main(String[] args) throws NoSuchMethodException, SecurityException {
// TODO Auto-generated method stub
Method method = test14.class.getDeclaredMethod("test01", Map.class,List.class);
Type[] type = method.getGenericParameterTypes();
for(Type t:type)
{
System.out.println("#"+t);
if(t instanceof ParameterizedType)
{
Type[] a = ((ParameterizedType) t).getActualTypeArguments();
for(Type b:a)
{
System.out.println(b);
}
}
}
method = test14.class.getDeclaredMethod("test02", null);
Type type2= method.getGenericReturnType();
if(type2 instanceof ParameterizedType)
{
Type[] a = ((ParameterizedType) type2).getActualTypeArguments();
for(Type b:a)
{
System.out.println(b);
}
}
}
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;
}
}
运行结果: