我有三个班在这里上课:
public class MyClass1<T, ID> {
@Getter
private static class IdHolder<ID> {
private ID id;
}
}
public class MyClass2<T> {
public MyClass2(Class<? extends T> type) {
}
public List<T> fetch() {
}
}
的内部
MyClass1
,我需要创建的实例
MyClass2
并调用
fetch()
方法
List<IdHolder<ID>> previous = new MyClass2<IdHolder<ID>>(???).fetch();
如果我使用
原始类型
这样地:
List<IdHolder> previous = new MyClass2<>(IdHolder.class).fetch();
它确实有效,但后来IntelliJ抱怨我使用了原始类型(显然)。
我尝试过:
TypeReference<IdHolder<ID>> t = new TypeReference<IdHolder<ID>>() {};
我能放什么
???
获取的类类型
IdHolder<ID>
或者这是因为类型擦除而不可能的,我必须使用原始类型?我认为这就是的全部意义
TypeReference
.