怎样向泛型集合中插入多种类型数据

泛型,只是在编译的过程中进行语法检查,查看集合中所存放的类型是否符合要求,在这种情况下,我能不能跳过编译器的检查,向一个存放Integer的List中存放一个String类型的数据?
这里要用到Java的反射机制:

    @Test
    public void test1(){
        try {
            List<Integer> list = new ArrayList<Integer>();
            list.add(1);
            list.add(2);
            list.add(3);
            //通过反射调用list的add方法
            list.getClass().getMethod("add", Object.class).invoke(list, "abc");
            for(int i = 0;i<list.size();i++){
                System.out.println(list.get(i));
            }
        } catch (IllegalAccessException | IllegalArgumentException
                | InvocationTargetException | NoSuchMethodException
                | SecurityException e) {
            e.printStackTrace();
        }
    }

输出:

这里写图片描述

原文地址:https://www.cnblogs.com/lenve/p/4518003.html