黑马程序员技术交流社区

标题: 反射 [打印本页]

作者: chensheng06    时间: 2015-8-30 00:39
标题: 反射
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.Iterator;

/*
* Test3--ArrayList<Integer> list = new ArrayList<Integer>();
* 在这个泛型为Integer的ArrayList中存放一个String类型的对象。
*
* 思路:在Integer类中有一个方法,Integer.parse(String str);该方法可以将字符串转化成Integer类型。
* 但是该方法有个局限,只能接收数字字符串,如果字符串中存在非数字的,就会报错。
* 那么只能通过反射的方法来在编译时期,骗过编译器。
* */
public class Test3 {
        public static void main(String[] args) throws NoSuchMethodException, SecurityException, IllegalAccessException, IllegalArgumentException, InvocationTargetException{
                ArrayList<Integer> al = new ArrayList<Integer>();
                Class clazz = al.getClass();
                Method method = clazz.getMethod("add",Object.class);
                method.invoke(al,"abc1");
                //System.out.println(obj);
                method.invoke(al,"abc2");
                method.invoke(al,"abc3");
                method.invoke(al,"abc4");
                Iterator it = al.iterator();
                while(it.hasNext()){
                        Object obj = it.next();
                        System.out.println(obj);
                }
        }
}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2