Java泛型 通过反射获得方法参数中的变量类名和泛型
2015-07-09 20:31
525 查看
通过反射获得方法参数中的变量类名和泛型
package test;
import java.lang.reflect.Method;
import java.lang.reflect.ParameterizedType;
import java.util.ArrayList;
public class MainTest {
public static void main(String[] args) throws Exception {
ArrayList<String> a = new ArrayList<String>();
Method applyMethod = MainTest.class.getMethod("applyMethod", ArrayList.class);
//applyMethod.invoke(null, a);
ParameterizedType pt = (ParameterizedType) applyMethod.getGenericParameterTypes()[0];
System.out.println(pt.getRawType()); //ArrayList
System.out.println(pt.getActualTypeArguments()[0]); //String
}
public static void applyMethod(ArrayList<String> a) {
}
}
package test;
import java.lang.reflect.Method;
import java.lang.reflect.ParameterizedType;
import java.util.ArrayList;
public class MainTest {
public static void main(String[] args) throws Exception {
ArrayList<String> a = new ArrayList<String>();
Method applyMethod = MainTest.class.getMethod("applyMethod", ArrayList.class);
//applyMethod.invoke(null, a);
ParameterizedType pt = (ParameterizedType) applyMethod.getGenericParameterTypes()[0];
System.out.println(pt.getRawType()); //ArrayList
System.out.println(pt.getActualTypeArguments()[0]); //String
}
public static void applyMethod(ArrayList<String> a) {
}
}
相关文章推荐
- Java中的扩展运算符盲区
- 【Java】栈和队列的java实现
- [LeetCode][Java] 4Sum
- Java线程池使用说明
- 1. 搭建WebDriver(Java)开发环境及第一个例子
- SpringMVC工作原理
- java 面向对象学习笔记——修饰词final,static,abstract
- 深入理解Java:注解(Annotation)基本概念
- Spring MVC 的 研发之路
- Java 守护线程
- Java基础之类比较器Comparable
- Some pieces of Java
- java课程系列笔记(1)
- Java中常见的IO流及其使用
- java拾遗3----XML解析(三) StAX PULL解析
- JAVA注解
- 深入理解Java:SimpleDateFormat安全的时间格式化
- Java MessageFormat.format 特殊符号、单引号
- java String.subString用法
- java集合(上)