有没有一种方法可以在Java中定义一个泛型约束,类似于下面的C#泛型构造?
class Class1<I,T> where I : Interface1, Class2 : I我试着这样做:
class Class1<I extends Interface1, T extends I & Class2>但是编译器抱怨"Class2“部分:类型参数后面不能跟其他界限。
发布于 2008-09-25 12:32:18
我所能看到的解决Java代码的最简单方法是将Class2作为接口。
不能将类型参数约束为扩展多个类或类型参数。此外,您不能在这里使用super。
发布于 2008-09-25 10:02:10
下面的代码可以很好地编译:
interface Interface1 {}
class Class2 {}
class Class1<I extends Interface1, T extends Class2 & Interface1> {}当你假设只有Interface1的时候,为什么你还需要I类型呢?(在您的类中,除了扩展Interface1之外,您不会了解更多关于i的内容)
https://stackoverflow.com/questions/132353
复制相似问题