易截截图软件、单文件、免安装、纯绿色、仅160KB

java如何反射获得范型list中实际的类?

某类中有个属性:
...
private List <User> userList;

用反射分析这个类的所有属性时,用Field.getType().getGenericType() 取到的该属性类型为:java.util.List <com.abc.User>
怎么可以取到com.abc.User这个类呢?看jdk没找到合适的方法。

简单说:我的目标是分析类文件,取到范型容器中实际的类型
ParameterizedType pt = (ParameterizedType) Field.getType().getGenericType() ;
Class clz = (Class) pt.getActualTypeArguments()[0];
System.out.println(clz);




ParameterizedType pt = (ParameterizedType) Field.getType().getGenericType() ;
Class clz = (Class) pt.getActualTypeArguments()[0];

试了一下不行呢,当然我写的也不太对,应是 field.getGenericType(),不是Field.getType().getGenericType()。

ParameterizedType pt =  (ParameterizedType) f1.getGenericType();//f1是Field对象
System.out.println(pt.getActualTypeArguments());//这一句报错:
Exception in thread "main" java.lang.ClassCastException: java.lang.Class
at test.Test2.main(Test2.java:26)

Field field = getClass().getDeclaredField("userList");
Type gType = field.getGenericType();
ParameterizedType pType = (ParameterizedType)gType;
System.out.println(pType.getActualTypeArguments()[0]);

帮忙顶顶吧,顺便学习学习

嗯,应该是f1.getType();


Exception in thread "main" java.lang.ClassCastException: j


相关问答:

java怎么连接Oracle,急啊 - Java / Java相关

private static final String URL = "jdbc:oracle:thin:@localhost:1521:orcl";
private static final String USERNAME = "sys";
private static final String PASSWORD = "s ......

asp 调用java写的webservice - Web 开发 / ASP

在asp里怎么调用java写的webservice方法,有很多方法
- <message name="RtPnrIn">
  <part name="bstrPnrNO" type="s:string" /> 
  <part name ......

C/S项目架构设计----求助 - Java / Java SE

本人正在用Java做一个C/S架构的项目, 
可是由于项目比较大,前期对架构的设计尤其重要,因为后期可能随时会加个功能或者去掉某些功能。 
所以特地寻求如何设计C/S的架构使程序更加面向对象更加易于维 ......

mysql数据库 - Java / Java相关

CREATE DATABASE ADDRESSLIST;
USE ADDRESSLIST;
DROP TABLE IF EXISTS FRIEND;
CREATE TABLE FRIEND
  (FRIEND_ID INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY ,
FRIEND_NAME VARCHAR(20) NOT N ......

java socket email 问题 - Java / Java SE

我在 java核心技术上 看了一个 利用 Java socket email的例子 可是怎么也 不成功 为什么?
源码
Java code:

package cn.com.test.email;
import java.awt.GridBagLayout;
import java.awt.event.Action ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号