如何获得当前类的字段,方法参数泛型的类型
来源:互联网 发布:张公子知乎 编辑:程序博客网 时间:2024/05/18 03:44
package com.zoo.thread;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
import java.util.Date;
import java.util.List;
问题:1,类型的泛型在运行时具体是什么类型?
这个貌似反射不能获得,只能获得父类的泛型类型.
我想大概是,自己初始化类型的时候,具体的类型自己是知道的,
所以没必要提供这样的API.
public class Generic<T>{
private List<Date> list;
public static void hello(List<Integer> list){
}
public static void main(String[] args) throws SecurityException, NoSuchFieldException, NoSuchMethodException {
//字段泛型类型
Generic<String> ge = new Generic<String>();
Field f = ge.getClass().getDeclaredField("list");
Type type = f.getGenericType();
ParameterizedType pt = (ParameterizedType)type;
System.out.println((Class<?>)pt.getActualTypeArguments()[0]);
//方法入参泛型类型
Method m = ge.getClass().getMethod("hello", List.class);
Type[] types = m.getGenericParameterTypes();
ParameterizedType ptt = (ParameterizedType)types[0];
System.out.println(ptt.getRawType());
System.out.println(ptt.getOwnerType());
System.out.println(ptt.getActualTypeArguments()[0]);
}
}
0 0
- 如何获得当前类的字段,方法参数泛型的类型
- 怎样获得泛型的类型参数
- 获得泛型的参数类型
- 获得超类的泛型参数的实际类型
- 获得父类中的泛型参数的实际类型
- 获得表的字段参数
- 如何获取方法参数的泛型类型
- 如何反射获得父类的泛型类型
- 如何在java方法中获得当前方法的名称
- 尽可能使用泛型方法,除非需要将类型参数用于实例的字段
- 通过反射获得泛型的参数化类型
- 通过反射获得泛型的实例类型参数
- 利用反射获得泛型的实际类型参数
- java 通过反射获得泛型的实际类型参数
- 反射获得泛型的实际类型参数
- 通过反射获得泛型的实际类型参数
- Java泛型-获得泛型的实际参数类型
- 43 通过反射获得泛型的实际类型参数
- C语言中的atan和atan2
- Kernel启动流程源码解析 4 start_kernel 上
- JDO快速入门
- java方法的重载
- C语言入门
- 如何获得当前类的字段,方法参数泛型的类型
- 最简单的 NSIS 函数返回值的返回与接收实例
- JNI基础01
- 如何反射获得父类的泛型类型
- HTTP协议详解
- BZOJ 3522 & 4543: [POI2014]Hotel
- Python内置函数_反射类
- Method.getParameterAnnotations()研究
- Linux下pppoe设置