一尘不染

使用反射获取Java中通用参数的类型

java

是否可以获取通用参数的类型?

一个例子:

public final class Voodoo {
    public static void chill(List<?> aListWithTypeSpiderMan) {
        // Here I'd like to get the Class-Object 'SpiderMan'
        Class typeOfTheList = ???;
    }

    public static void main(String... args) {
        chill(new ArrayList<SpiderMan>());
    }
}

阅读 516

收藏
2020-02-29

共1个答案

一尘不染

我曾经偶然发现的一种结构看起来像

Class<T> persistentClass = (Class<T>)
   ((ParameterizedType)getClass().getGenericSuperclass())
      .getActualTypeArguments()[0];

因此,似乎有些不可思议的想法使我感到遗憾,我很不了解…对不起。

2020-02-29