是否可以在java中使用扩展的形式类型参数

时间:2016-09-28 08:47:58

标签: java generics

我尝试完成使用我在方法

中用于内部扩展接口的泛型类型参数

e.g。

Datelist

如果不是使用SomeGenericTypeIWantToUse,而是使用已定义的类型,例如字符串一切都工作只是peachy但通用符号无法解析。

我将如何实现这一目标?

1 个答案:

答案 0 :(得分:1)

您需要在泛型声明中指定要使用的泛型类型:

   class AImpl<T extends IB<SomeGenericTypeIWantToUse>, SomeGenericTypeIWantToUse> implements IA<T> {

    ISomeModule<SomeGenericTypeIWantToUse> module;

    public void someMethod(T param) {
        SomeGenericTypeIWantToUse myVariable = param.anotherMethod();
        module.digest(myVariable);
    }
}

因为您指定通用编译器需要明确地知道它,否则它会尝试将其解析为真正的类(所以当您使用String时,它可以正常工作,因为它可以解析String)。