A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© chensheng06 中级黑马   /  2015-8-30 00:39  /  174 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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);
                }
        }
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马