黑马程序员技术交流社区

标题: 通过反射怎么得到集合,还有其泛型, [打印本页]

作者: 贾飞雨    时间: 2012-8-27 01:32
标题: 通过反射怎么得到集合,还有其泛型,
本帖最后由 贾飞雨 于 2012-8-27 01:40 编辑

class  ListDemo
{
                List<String> array = new ArrayList<String>();
               
                array.add("林青霞");
                array.add("齐秦");
                array.add("齐豫");
                array.add("大S");
}
class MainClass
{
        ListDemo ld = new ListDemo();
        Class clszz = ld.getClass();
        //问一下大家,咱们反射怎么得到集合呢,还有集合中的泛型
}


作者: 杨震    时间: 2012-8-27 09:26
反射得不到泛型吧,这里的集合是该对象的一个成员,通过反射访问其成员就行了啊
作者: 杨鹏鹏    时间: 2012-8-27 14:58
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.List;

class  ListDemo{
List<String> array=new ArrayList<String>();
       
        {
                   array.add("张三");
                   array.add("张四");
                   array.add("张五");
                   array.add("张六");       
        }
                  
}
public class MainClass
{
        public static void main(String[] args) throws Exception, Exception {
                 ListDemo ld = new ListDemo();
                 
               Class clszz = ld.getClass();      
         Field field=clszz.getDeclaredField("array");
          field.setAccessible(true);
          System.out.println(field.getGenericType());
              List list=(List) field.get(ld);
      for(int i=0;i<list.size();i++){
              System.out.println(list.get(i));
      }
               
                

        }
       /*
        *               java.util.List<java.lang.String>
                                     张三
                                     张四
                                     张五
                                     张六
        *
        *
        *
        * */
        
      
}




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