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
相关问答:
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方法,有很多方法
- <message name="RtPnrIn">
<part name="bstrPnrNO" type="s:string" />
<part name ......
本人正在用Java做一个C/S架构的项目,
可是由于项目比较大,前期对架构的设计尤其重要,因为后期可能随时会加个功能或者去掉某些功能。
所以特地寻求如何设计C/S的架构使程序更加面向对象更加易于维 ......
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核心技术上 看了一个 利用 Java socket email的例子 可是怎么也 不成功 为什么?
源码
Java code:
package cn.com.test.email;
import java.awt.GridBagLayout;
import java.awt.event.Action ......