Java 反射可以获取 List 的泛型,需要使用 java.lang.reflect 包中的 Type 接口和 ParameterizedType 实现类。
获取泛型:
List<String> list = new ArrayList<>();
Type type = list.getClass().getGenericSuperclass();
if (type instanceof ParameterizedType) {
Type actualType = ((ParameterizedType) type).getActualTypeArguments()[0];
System.out.println(actualType);
class java.lang.String
FantJ
GitHub