您的位置:首页 > 编程语言 > Java开发

java 反射取得方法入参类型的泛形

2016-12-16 14:59 309 查看
package TestReflectClass;

import java.util.List;

/**
* Created by wangyang on 2016/12/16.
*/
public class Person {
public void get(List<A> list){

}
}
class A{}
package TestReflectClass;

import java.lang.reflect.Method;
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
import java.util.List;

/**
* Created by wangyang on 2016/12/16.
*/
public class TestReflect {
public static void main(String[] args) throws ClassNotFoundException, NoSuchMethodException {
Class<?> aClass = Class.forName("TestReflectClass.Person");
Method method = aClass.getMethod("get", List.class);
Type[] genericParameterTypes = method.getGenericParameterTypes();
for(Type genericParameterType : genericParameterTypes){
if(genericParameterType instanceof ParameterizedType){
ParameterizedType aType = (ParameterizedType) genericParameterType;
Type[] parameterArgTypes = aType.getActualTypeArguments();
for(Type parameterArgType : parameterArgTypes){
Class parameterArgClass = (Class) parameterArgType;
System.out.println("parameterArgClass = " + parameterArgClass);
}
}
}
}
}

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐