怎么反射获取List 中泛型的类型

如何反射获取List<T> 中泛型的类型。
比如:
 List<String> list = new ArrayList<String>();

如何根据反射 通过list 获取该List中泛型的类型。
------解决方案--------------------



参考。
------解决方案--------------------
http://bbs.csdn.net/topics/210017667
------解决方案--------------------
引用:
引用:
http://bbs.csdn.net/topics/210017667

这个问题和我的问题还是有区别的 。 
这个问题是获取集合里面元素的类型。 


我现在的问题是这样的:

public void test01(List list){
  // 打印List中泛型的类型
}

比如 
List<String> list……


你可以自己判断下类型。
------解决方案--------------------
引用:
引用:
引用:引用:
http://bbs.csdn.net/topics/210017667

这个问题和我的问题还是有区别的 。 
这个问题是获取集合里面元素的类型。 


我现在的问题是这样的:

public void test01(List list){
……


不用发射,这样判断就可以了。


List list = new ArrayList();
list.add("test");
list.add(1);

for (Object object :list) {
if (object instanceof String) {
System.out.println("String");
}else if (object instanceof Integer) {
System.out.println("Integer");
}
}

------解决方案--------------------


public class GenericTest   
{   
    public List<String> list = new LinkedList<String>();   
  
    public static void main(String[] args) throws SecurityException, NoSuchFieldException   
    {   
        ParameterizedType pt = (ParameterizedType) GenericTest.class.getField(   
                "list").getGenericType();   
        System.out.println(pt.getActualTypeArguments().length);   
        System.out.println(pt.getActualTypeArguments()[0]);   
    }   
}  


------解决方案--------------------
这个list只能是成员变量或方法变量中才能获得他的泛型。
------解决方案--------------------
引用:
这个list只能是成员变量或方法变量中才能获得他的泛型。


是的!
------解决方案--------------------
  这个好办,真实运气了楼主你,最近我就研究这个东西
   首先导入这个qdox-1.12.jar(你百度一下就搞定了)
   然后这样:  field.getType().getGenericValue()  就搞定了(看到结果你就知道怎么办了,不再解释)