Java获取List 泛型类型
时间: 2024-03-30 10:29:12 浏览: 330
在Java中,可以通过反射机制获取List的泛型类型。具体来说,可以通过以下步骤获取List的泛型类型:
1. 获取List属性对应的Field对象;
2. 通过Field对象的getGenericType()方法获取属性的泛型类型;
3. 判断泛型类型是否为ParameterizedType类型;
4. 如果是ParameterizedType类型,则通过getActualTypeArguments()方法获取泛型参数的类型。
举个例子,假设有一个类中有一个List属性,可以通过以下代码获取List的泛型类型:
```
Field field = MyClass.class.getDeclaredField("myList");
Type genericType = field.getGenericType();
if (genericType instanceof ParameterizedType) {
ParameterizedType parameterizedType = (ParameterizedType) genericType;
Type[] actualTypeArguments = parameterizedType.getActualTypeArguments();
if (actualTypeArguments.length > 0) {
Class<?> listGenericType = (Class<?>) actualTypeArguments[0];
System.out.println("List泛型类型为:" + listGenericType.getName());
}
}
```
阅读全文