本帖最后由 孙飞 于 2012-8-9 00:43 编辑
- import java.lang.reflect.InvocationTargetException;
- import java.lang.reflect.Method;
- import java.util.ArrayList;
- public class GenericTest {
- public static void main(String[] args){
- ArrayList<Integer> collection=new ArrayList<Integer>();
- collection.add(3);
- //collection.add("hello");
- Method method=null;
- try {
- method=collection.getClass().getMethod("add", Object.class);//为什么这里把Object.class改成String.class就不能把字符串加入集合呢?我下面要传入的是字符串,为什么这里不能用它的字节码文件类型做参数
- } catch (SecurityException e) {
- e.printStackTrace();
- } catch (NoSuchMethodException e) {
- e.printStackTrace();
- }
- try {
- method.invoke(collection, "hello");
- } catch (IllegalArgumentException e) {
- e.printStackTrace();
- } catch (IllegalAccessException e) {
- e.printStackTrace();
- } catch (InvocationTargetException e) {
- e.printStackTrace();
- }
- System.out.println(collection);
- }
- }
复制代码 |
|