是否可以获取通用参数的类型?
一个例子:
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>()); } }
我曾经偶然发现的一种结构看起来像
Class<T> persistentClass = (Class<T>) ((ParameterizedType)getClass().getGenericSuperclass()) .getActualTypeArguments()[0];
因此,似乎有些不可思议的想法使我感到遗憾,我很不了解…对不起。