通过反射获得泛型信息
来源:互联网 发布:手机淘宝黑名单在哪 编辑:程序博客网 时间:2024/05/17 12:02
获得方法泛型参数的类型
public void test(@MyFieldAnnotation(getid=23) int id,Map<String,TargetBean> ss) {
Method m=null;try {
m = Test.class.getDeclaredMethod("test",new Class[]{int.class,Map.class});
Type[] type=m.getGenericParameterTypes();
for(int i=0;i<type.length;i++){
if(type[i] instanceof ParameterizedType){
ParameterizedType pt = (ParameterizedType)type[i];
System.out.println(pt.getActualTypeArguments()[0]);
}
}
}
catch(Exception e){
e.printStackTrace();
}
Annotation[][] ann=m.getParameterAnnotations();
System.out.println(ann);
}
获得属性泛型信息
try {
Field f=Test.class.getDeclaredField("list");
Type type=f.getGenericType();
ParameterizedType pt=(ParameterizedType)type;
System.out.println(pt.getActualTypeArguments()[0]);
} catch (SecurityException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (NoSuchFieldException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
相关方法:
public boolean isPrimitive()判断是否是基本类型
isAssignableFrom AA.class.isAssignableFrom(BB.class)的作用是判定AA表示的类或接口是否同参数BB指定的类表示的类或接口相同,或AA是否是BB的父类
ParameterizedType 表示参数化类型,如 Collection<String>
getGenericSuperclass, getSuperclass, getActualTypeArguments
说明
1.Class<? super T> getSuperclass():返回本类的父类
2.Type getGenericSuperclass():返回本类的父类,包含泛型参数信息
- 通过反射获得泛型信息
- 通过反射查看类信息---获得Class对象
- Java中通过反射获得对象的属性信息
- Java中通过反射获得对象的属性信息
- 通过反射获得泛型的参数化类型
- 高级应用:通过反射获得泛型的参数…
- 通过反射获得泛型的实例类型参数
- java 通过反射获得泛型的实际类型参数
- JAVA中通过反射获得泛型的实际参数
- 通过反射获得泛型的实际类型参数
- 43 通过反射获得泛型的实际类型参数
- 利用反射获得类信息,以获得泛型为例
- 泛型学习-通过反射获得泛型的实际类型参数
- Java 泛型学习(三)通过反射获得泛型的实际类型参数
- 反射泛型信息
- java_通过反射获得泛型的实际类型参数
- 父类通过反射获得子类的class泛型类型
- Java泛型 通过反射获得方法参数中的变量类名和泛型
- 设置UIBarButtonItem tintColor
- Linux驱动程序中THIS_MODULE 的定义
- 配置samba服务器
- 搜集的一些SQL语句
- 黑马程序员--创建存储过程
- 通过反射获得泛型信息
- Linus Benedict Torvalds 林纳斯·本纳第克特·托瓦兹
- 电子罗盘Kernel层分析
- 如何创造出优秀的用户体验?
- 关于JSON
- 电子罗盘HAL层分析
- RSS永生不灭
- base64编码的字符串解析为UIImage
- jsonp举例