本帖最后由 yi岁⑨很乖❤ 于 2015-4-13 21:03 编辑
ArrayList<Integer> collection1 = new ArrayList<Integer>();
Method method = collection1.getClass().getMethod("add", Integer.class);
method.invoke(collection1, "abd");
System.out.println(collection1);
Exception in thread "main" java.lang.NoSuchMethodException: java.util.ArrayList.add(java.lang.Integer)
(第二行出错)
如果改成 Method method = collection1.getClass().getMethod("add", Object.class); 就正确了。
但是我不明白为什么Integer.class就不可以呢?
Class ArrayList<E> 的add定义是:boolean add(E e)
我在定义ArrayList的时候限定了ArrayList为Integer啊,
请求解答。。。 |