具有 1 个类型参数和 2 个约束的 Java 泛型
我知道可以向泛型类定义添加多个约束,例如:
class Example<I extends Object & Comparable<Object>>{}
但是我想要一个泛型 (),它将另一个泛型 () 作为其类型参数,并约束该泛型的类型参数 ()(例如 )。MyGeneric
SomeGeneric<T>
T
T extends SomeClass
重要的是,我需要知道两者的类型,并从类内部知道(并且需要同时绑定)。例如,想象一下这样的事情:SomeGeneric
SomeClass
G
T
class MyGeneric<G extends SomeGeneric<T>, T extends SomeClass>
{
public G returnSomeGenericImpl(){}
public T returnSomeClassImpl(){}
}
问题:上述方法有效,但我更喜欢我的类只有一个类型参数,以使我的类的实现者的生活更轻松。有没有办法做到这一点?
像这样的东西会很好(但是这个特定的代码是不正确的):
class MyGeneric<G extends SomeGeneric<T extends SomeClass>>
{
public G returnSomeGenericImpl(){}
public T returnSomeClassImpl(){}
}
如果我不清楚,我会很乐意尝试澄清我的意图。