实现返回类型为Class <t1 <t2>&gt; </t1 <t2>的抽象方法

时间:2011-08-02 13:10:57

标签: java generics

我有一个抽象的测试类,它有两个类型参数。我需要在某个时候创建​​其中一个类型的实例,所以我定义了一个抽象方法来获取所需的类。

I doc = getInputDocumentClass().newInstance();

如何在具体的子类中实现抽象方法Class<T1<T2>> getInputDocumentClass()

要返回T1的类文字是不够的:

@Override
public Class<T1<T2>> getInputDocumentClass() {
    return T1.class;
}

cannot convert from Class<T1> to Class<T1<T2>>

由于类型擦除,没有参数化的类文字。

那么在这种情况下如何满足编译器呢?

1 个答案:

答案 0 :(得分:1)

@SuppressWarnings("unchecked")
public Class<List<Integer>> getInputDocumentClass() {
    return (Class)List.class;
}
相关问题