importjava.util.*; importjava.lang.reflect.*; public class Test4{ public static void main(String[] args)throws Exception { //定义一个容器,加入对象。 List<Integer> list = newArrayList<Integer>(); list.add(1); list.add(2); list.add(3); String str = "abc"; //获取容器的add方法的字节码 Method methodAdd =list.getClass().getMethod("add", int.class, Object.class); //用反射的方法调用add方法 methodAdd.invoke(list, 1, str); //打印list容器中内容,验证。 for(int i=0; i<list.size(); i++){ System.out.println(list.get(i)); } } } 把Method methodAdd =list.getClass().getMethod("add", int.class, Object.class);这一行中的 Object.class换成 String.class 编译时能通过,但是运行的时候出现java.lang.NoSuchMethodException这个错误,为什么呢?
|