| 本帖最后由 Clare0621 于 2014-1-4 21:02 编辑 
 在张老师视频中看到关于通过反射绕过集合的泛型机制问题:
 视频中,张老师定义了一个Integer类型的ArrayList,然后通过反射想集合中添加了一个字符串,并成功输出到控制台。
 我自己定义了一个String类型的ArrayList,然后通过反射向其中添加了一个Integer元素,打印时就出现了类型转换异常,编译没问题。代码如下:
 复制代码public class GenericTest {
        public static void main(String[] args) throws Exception {
                //通过反射可绕过泛型机制
                ArrayList<String> collection = new ArrayList<String>();
                collection.add("abc");
                collection.getClass().getMethod("add", Object.class).invoke(collection, 4);
                System.out.println(collection.get(1));
        }
谁能解释下什么原因?
 
 
 
 
 |