问答详情
源自:6-1 Java 通过反射了解集合泛型的本质

老师 最后不能用foreach 要怎么取出元素啊

老师 最后不能用foreach  要怎么取出元素啊

提问者:慕慕309619 2015-01-26 18:10

个回答

  • 风吹裙飘飘
    2015-03-07 01:59:20

    .Arraylist源码中get方法返回值还是有泛型

     public E get(int index) {
     RangeCheck(index);
     return (E) elementData[index];
        }

     

    还是要通过反射取值

    Method m2=clazz.getDeclaredMethod("get", int.class);
    
        
    
        for(int i=0;i<list.size();i++){
    
         Object o=m2.invoke(list, i);
    
         if(o instanceof String){
    
          System.out.println("String:"+m2.invoke(list, i));
    
         }else if(o instanceof Integer){
    
          System.out.println("Integer:"+m2.invoke(list, i));
    
         }
    
        }

     

  • 慕慕309619
    2015-01-29 14:12:08

    ArrayList<String>  这样的泛型加了int的进去  输出来报错  输出String没问题

  • 慕慕309619
    2015-01-27 14:31:50

    就是用下标输出单个都会抛异常

  • 好帮手慕珊
    2015-01-27 09:32:19

    可以用for循环