如何获得当前类的字段,方法参数泛型的类型
答案:1 悬赏:80 手机版
解决时间 2021-04-14 03:57
- 提问者网友:你给我的爱
- 2021-04-13 04:43
如何获得当前类的字段,方法参数泛型的类型
最佳答案
- 五星知识达人网友:痴妹与他
- 2021-04-13 04:50
获得方法的代码如下,字段的类似
package day02.generic;
import java.lang.reflect.Method;
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
import java.util.List;
public final class GenericDemo5 {
public void testGenericReflection(List<String> list) {
}
public static void main(String[] args) throws Exception {
Method method = GenericDemo5.class.getMethod("testGenericReflection", List.class);
Type[] parameterTypes = method.getGenericParameterTypes();
ParameterizedType parameterType = (ParameterizedType) parameterTypes[0]; // 获得第一个泛型参数, Collection类型的集合只有一个泛型参数, Map类型的集合有两个泛型参数
System.out.println(parameterType.getRawType()); // interface java.util.List
System.out.println(parameterType.getTypeName()); // java.util.List<java.lang.String>
System.out.println(parameterType.getActualTypeArguments()[0]); // class java.lang.String
}
}
package day02.generic;
import java.lang.reflect.Method;
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
import java.util.List;
public final class GenericDemo5 {
public void testGenericReflection(List<String> list) {
}
public static void main(String[] args) throws Exception {
Method method = GenericDemo5.class.getMethod("testGenericReflection", List.class);
Type[] parameterTypes = method.getGenericParameterTypes();
ParameterizedType parameterType = (ParameterizedType) parameterTypes[0]; // 获得第一个泛型参数, Collection类型的集合只有一个泛型参数, Map类型的集合有两个泛型参数
System.out.println(parameterType.getRawType()); // interface java.util.List
System.out.println(parameterType.getTypeName()); // java.util.List<java.lang.String>
System.out.println(parameterType.getActualTypeArguments()[0]); // class java.lang.String
}
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯