本帖最后由 何俊森 于 2013-4-26 09:19 编辑
如果只是为了限定它是为Integer类型的话,可以这样,见代码:- import java.lang.reflect.Method;
- import java.util.ArrayList;
- import java.util.List;
- public class RefectTest3 {
- public static void main(String[] args) throws InstantiationException, Exception {
- // TODO Auto-generated method stub
- List<Integer> list = new ArrayList<Integer>(); //其中这行的Integer可以为任意类型,因为编译器编译带泛型的集合后会手插掉泛型信息,因此下面设置方法参数类型要是Object
- Method met = list.getClass().getMethod("add",Object.class); //设置方法参数类型
- met.invoke(list,new Integer(12));
- met.invoke(list,new Integer(23));
- met.invoke(list,new Integer(45));
- System.out.println(list);
- }
- }
复制代码 |